Avatar billede internet Nybegynder
01. juli 2007 - 21:27 Der er 9 kommentarer og
1 løsning

En forespørgsel - to tekster

Hej Eksperter

Jeg har denne forespørgsel

<?php
$conn = mysql_connect("$server", "$user", "$password");
mysql_select_db("$database");
// Hent først data ud
$resultat = mysql_query("SELECT * FROM birthday where editor = 'emil2004'") or die (mysql_error());
while ($row = mysql_fetch_assoc($resultat)) {
extract($row);
?>
Her skal teksterne være
<?php }?>

Jeg har brug for et script der vise to forskellige tekster, alt efter om forespørgelsen giver et resultat eller ingen resultater.

Hvis forespørgelsen giver et eller flere resultater, skal scriptet skrive. "Navnet findes i databasen"

Hvis forespørgelsen ikke giver nogle resultater, skal scriptet skrive: "Navnet findes <b>ikke</b> i databasen"

Håber I kan hjælpe.

Emil
Avatar billede hmortensen Nybegynder
01. juli 2007 - 21:56 #1
if (mysql_num_rows($resultat) == 0)
{
  //ingen resultater
}
else
{
  //loop gennem resultatsæt.
}
Avatar billede internet Nybegynder
01. juli 2007 - 22:28 #2
Altså sådan her?

<?php
    if (mysql_num_rows($resultat) == 0)
{
  echo "Intet resultater";
}
else
{
  echo "Resultater";
}
?>
Avatar billede internet Nybegynder
01. juli 2007 - 22:35 #3
Der er en fejl. Den virker kun når der findes et resultat, men ikke hvis der ikke findes noget resultat.
Avatar billede erikjacobsen Ekspert
01. juli 2007 - 22:46 #4
Du skal have din while-løkke der hvor hr. Mortensen skriver: "//loop gennem resultatsæt."
Avatar billede internet Nybegynder
01. juli 2007 - 22:57 #5
Det kan jeg ikke finde ud af.

Hvordan skal den while løkke se ud?
Avatar billede internet Nybegynder
02. juli 2007 - 00:54 #6
Nu har jeg prøvet mig frem, men det virker stadigvæk ikke.


<?php
$conn = mysql_connect("$server", "$user", "$password");
mysql_select_db("$database");
// Hent først data ud
$resultat = mysql_query("SELECT * FROM birthday where editor = 'emil2004'") or die (mysql_error());
while ($row = mysql_fetch_assoc($resultat)) {
extract($row);
?>

<?php
$total = mysql_num_rows($query);
if($total==1)
{
    while ($row = mysql_fetch_assoc($resultat))
  {
    echo "resultat";
}
else
{
    echo "Intet resultat.";
}
?>

<?php }?>

Hvad er der galt?
Avatar billede dkfire Nybegynder
02. juli 2007 - 14:30 #7
Hvad er der ikke galt.
Søg for at din while er lukket rigtigt, husk både { og }.

Så har du ingen vairabel som hedder $query, tror du mener $resultat.

Og så har du vel ikke brug for din først while-løkke, så slet:
while ($row = mysql_fetch_assoc($resultat)) {
extract($row);
Avatar billede internet Nybegynder
28. juli 2007 - 23:03 #8
Den forstår jeg ikke.

Hvordan skal koden så se ud?
Avatar billede internet Nybegynder
28. marts 2010 - 12:38 #9
lukker
Avatar billede internet Nybegynder
28. marts 2010 - 12:39 #10
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester