24. november 2003 - 09:08
Der er
9 kommentarer og 1 løsning
viser ikke når den ikke er noget i databasen
<?php session_start(); if (session_is_registered("chat_navn")) { $conn = mysql_connect("?", "?", "?"); mysql_select_db("?"); $query = mysql_query("select * from indbakke WHERE til= '$chat_navn'") or die(mysql_error()); } while($row = mysql_fetch_array($query)) { if($row[til] == $chat_navn) { echo "<center>"; echo "<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1' bordercolor='#111111' width='48%' id='AutoNumber1' height='68'>"; echo "<tr>"; echo "<td width='151' height='19' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Fra:</font></td>"; echo "<td width='77%' height='19' style='border-style: none; border-width: medium'>$row[fra]</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='151' height='48' valign='top' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Besked:</font></td>"; echo "<td valign='top' width='77%' height='48' style='border-style: none; border-width: medium'>"; echo "<p align='left'>$row[besked]</td>"; echo "</tr>"; echo "</table>"; echo "</center>"; }else{ echo "der er ikke nogle besked"; } } ?>
Annonceindlæg fra Pax8
24. november 2003 - 09:13
#1
Det er din while-løkke, som ikke bliver afviklet når $row[til] ikke eksisterer. Du skal altså sætte else { echo "der er ikke nogle besked"; } udenfor while-løkken.
24. november 2003 - 09:15
#2
kan du uddybe det lidt beder
24. november 2003 - 09:23
#3
Når der ikke er noget i databasen, så er $row jo tom, og eksisterer altså ikke. Derfor bliver din while-løkke ikke afviklet, kørt igennem. Din while-løkke siger jo, at så længe der er indhold i din forspørgel ($query), så gennemkør løkken, og da der ikke er noget indhold i din forspørgel ($query), så sker der altså ikke noget. Derfor skal du sætte else { echo "der er ikke nogle besked"; } udenfor while-løkken :o)
24. november 2003 - 09:26
#4
if ((mysql_num_rows (mysql_query ("SELECT xxx FROM indbakke"))) == 0) { echo "der er ikke nogen besked"; } else { while($row = mysql_fetch_array($query)) { Gør dit, gør dat... } } kunne være en mulighed.
24. november 2003 - 09:36
#5
nu er jeg ikke med kan du ikke lave eks. til mig er ny inde for php
24. november 2003 - 09:40
#6
er du sikker på at der et et felt der hedder til i din database ? du skal skrive det præsic som det hedder i databasen eller finden den ikk rækken .... fx. $row[til] og $row[tIL] er vildt forskellige .... ellers ka det være fordi at $row er det numerisk array dvs. at hvis du skal hente ID ud fx. så skal du skrive $row[0]
24. november 2003 - 09:46
#7
Jeg går ud fra, at $row['besked'] indeholder beskederne. Prøv derfor følgende. if ((mysql_num_rows (mysql_query ("SELECT besked FROM indbakke"))) == 0) // hvis antal rækker med besked er lig med nul { echo "der er ikke nogen besked"; } else { while($row = mysql_fetch_array($query)) { if ($row['til'] == $chat_navn) { echo "<center>"; echo "<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1' bordercolor='#111111' width='48%' id='AutoNumber1' height='68'>"; echo "<tr>"; echo "<td width='151' height='19' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Fra:</font></td>"; echo "<td width='77%' height='19' style='border-style: none; border-width: medium'>".$row['fra']."</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='151' height='48' valign='top' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Besked:</font></td>"; echo "<td valign='top' width='77%' height='48' style='border-style: none; border-width: medium'>"; echo "<p align='left'>".$row['besked']."</td>"; echo "</tr>"; echo "</table>"; echo "</center>"; } } }
24. november 2003 - 09:56
#8
så her her det ud når: det den kigger efter er "chat_navn" der noget der hedder det i "til" og vis viser den alle dem med chat_navnet i "til" frem ellers vis den en hvid side $query = mysql_query("select * from indbakke WHERE til= '$chat_navn'") or die(mysql_error()); while($row = mysql_fetch_array($query)) { echo "<center>"; echo "<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1' bordercolor='#111111' width='48%' id='AutoNumber1' height='68'>"; echo "<tr>"; echo "<td width='151' height='19' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Fra:</font></td>"; echo "<td width='77%' height='19' style='border-style: none; border-width: medium'>$row[fra]</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='151' height='48' valign='top' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Besked:</font></td>"; echo "<td valign='top' width='77%' height='48' style='border-style: none; border-width: medium'>"; echo "<p align='left'>$row[besked]</td>"; echo "</tr>"; echo "</table>"; echo "</center>"; } }
24. november 2003 - 10:12
#9
her er løsning og jeg kunne lige se med det fra 7th jeg misse lidt i fasten $query = mysql_query("select * from indbakke WHERE til= '$chat_navn'") or die(mysql_error()); if ((mysql_num_rows (mysql_query("select * from indbakke WHERE til= '$chat_navn'"))) == 0) { echo "der er ikke nogen besked"; } else { while($row = mysql_fetch_array($query)) { echo "<center>"; echo "<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1' bordercolor='#111111' width='48%' id='AutoNumber1' height='68'>"; echo "<tr>"; echo "<td width='151' height='19' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Fra:</font></td>"; echo "<td width='77%' height='19' style='border-style: none; border-width: medium'>$row[fra]</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='151' height='48' valign='top' style='border-style: none; border-width: medium'>"; echo "<p align='right'><font size='2'>Besked:</font></td>"; echo "<td valign='top' width='77%' height='48' style='border-style: none; border-width: medium'>"; echo "<p align='left'>$row[besked]</td>"; echo "</tr>"; echo "</table>"; echo "</center>"; } } --------------------------------- Kommentar: 7th 24/11-2003 09:26:50 if ((mysql_num_rows (mysql_query ("SELECT xxx FROM indbakke"))) == 0) { echo "der er ikke nogen besked"; } else { while($row = mysql_fetch_array($query)) { Gør dit, gør dat... } } --------------------------- så 7th du skal have point'en og takker for hjælpen
24. november 2003 - 10:17
#10
Så lidt :o)
Vi tilbyder markedets bedste kurser inden for webudvikling