Gå til innhold

Sjekke om ett array eksisterer


Anbefalte innlegg

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
Videoannonse
Annonse
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. :yes: Har rotet litt med den allerede.

Lenke til kommentar
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. :yes: 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()$row isteden for is_null() fordi mysql_fetch_array() returnerer enten en array, eller false dersom det ikke eksisterer flere rader.

Lenke til kommentar
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
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 :thumbup: .

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...