ictys Skrevet 5. november 2007 Del Skrevet 5. november 2007 Hei jeg har en database også ønsker jeg å kjøre en sjekke om div poster eksisterer. Jeg prøver meg med is_null men det virker ikke. Mulig jeg ikke helt har skjønt dette med PHP $query = "SELECT * FROM $database.$data WHERE `bok`='$bok' AND `kapittel` = '$kapittel' AND `bibel_v` = '$bibel_v'"; $result = mysql_query($query) or die ("<br>Kunne ikke hente fra databasen databasen<br>"); $row=mysql_fetch_array($result); extract($row); If (is_null($row)) { echo "<h1>Legge til nytt</h1>"; echo " <form action='b_vers.php' method='post'> <input type='text' size='5' name='bok' value='$bok'> <input type='text' size='4' name='kapittel' value='$kapittel'> <input type='text' size='4' name='bibel_v' value='$bibel_v'> </select> <br> Bibeltekst <textarea rows='5' name='tekst'></textarea><br> Kommentar <textarea rows='5' name='kommentar'></textarea><br> <input type='submit' value='Legg til'> </form>"; } else { echo "<h1>Endre </h1>"; echo "<form action='b_vers2.php' method='post'> <input type='text' size='5' name='bok' value='$bok'> <input type='text' size='4' name='kapittel' value='$kapittel'> <input type='text' size='4' name='bibel_v' value='$bibel_v'> <br> Bibeltekst <textarea rows='5' name='tekst'>$tekst</textarea><br> Kommentar <textarea rows='5' name='kommentar'>$kommentar</textarea><br> <input type='submit' value='Legg til'> </form>"; } ?> Lenke til kommentar
trrunde Skrevet 5. november 2007 Del Skrevet 5. november 2007 du kan prøve if $variabel <>'' Lenke til kommentar
Zandar Skrevet 5. november 2007 Del Skrevet 5. november 2007 Du har en egen funksjon for mysql-resultatsett som heter mysql_num_rows() eller mysql_numrows(). Denne returnerer antallet rader i resultatsettet fra spørringen. if(mysql_numrows($result) == 0) { echo "<h1>Legge til nytt</h1>"; } else { echo "<h1>Endre </h1>"; } For å sjekke om et array eksisterer så har du funksjonen is_array(). Lenke til kommentar
ictys Skrevet 5. november 2007 Forfatter Del Skrevet 5. november 2007 Du har en egen funksjon for mysql-resultatsett som heter mysql_num_rows() eller mysql_numrows().Denne returnerer antallet rader i resultatsettet fra spørringen. if(mysql_numrows($result) == 0) { echo "<h1>Legge til nytt</h1>"; } else { echo "<h1>Endre </h1>"; } For å sjekke om et array eksisterer så har du funksjonen is_array(). Jeg skal prøve denne, ser ut som det skal gå greit - tusen takk. Men is_array er ikke for å sjekke om en array eksisterer, men for å se om en variabel er en array eller ikke. Har rotet litt med den allerede. Lenke til kommentar
ictys Skrevet 5. november 2007 Forfatter Del Skrevet 5. november 2007 Hurra det funker nå. Tusen takk! Jeg måtte flytte extract($row); til inne i {} ellers ble det selvsagt en feilmelding. Ellers ser det veldig bra ut. Lenke til kommentar
Zandar Skrevet 5. november 2007 Del Skrevet 5. november 2007 Jeg skal prøve denne, ser ut som det skal gå greit - tusen takk. Men is_array er ikke for å sjekke om en array eksisterer, men for å se om en variabel er en array eller ikke. Har rotet litt med den allerede. Uttrykte meg litt uklart der angående is_array(). Funksjonen gjør akkurat det du sier ovenfor, dvs den sjekker om en variabel er en array eller ikke. Det jeg mente var at du kunne bruke is_array() på $row isteden for is_null() fordi mysql_fetch_array() returnerer enten en array, eller false dersom det ikke eksisterer flere rader. Lenke til kommentar
Peter Skrevet 6. november 2007 Del Skrevet 6. november 2007 Du har en egen funksjon for mysql-resultatsett som heter mysql_num_rows() eller mysql_numrows().Denne returnerer antallet rader i resultatsettet fra spørringen. if(mysql_numrows($result) == 0) { echo "<h1>Legge til nytt</h1>"; } else { echo "<h1>Endre </h1>"; } For å sjekke om et array eksisterer så har du funksjonen is_array(). Den koden der er risky, for mysql_num_rows returnerer false dersom den feiler, og 0 == false, dermed må man bruke mysql_num_rows(..) === 0 for å sjekke at det faktisk er 0 rader og ikke funksjonen som feiler. Lenke til kommentar
Zandar Skrevet 6. november 2007 Del Skrevet 6. november 2007 Den koden der er risky, for mysql_num_rows returnerer false dersom den feiler, og 0 == false, dermed må man bruke mysql_num_rows(..) === 0 for å sjekke at det faktisk er 0 rader og ikke funksjonen som feiler. Det har du helt rett i, === må brukes der. Bra sett . Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå