Avatar billede zyco_dk Nybegynder
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";
    }
}
?>
Avatar billede 7th Praktikant
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.
Avatar billede zyco_dk Nybegynder
24. november 2003 - 09:15 #2
kan du uddybe det lidt beder
Avatar billede 7th Praktikant
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)
Avatar billede 7th Praktikant
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.
Avatar billede zyco_dk Nybegynder
24. november 2003 - 09:36 #5
nu er jeg ikke med kan du ikke lave eks. til mig er ny inde for php
Avatar billede jdrepsak Nybegynder
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]
Avatar billede 7th Praktikant
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>";
}
}
}
Avatar billede zyco_dk Nybegynder
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>";


}
}
Avatar billede zyco_dk Nybegynder
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
Avatar billede 7th Praktikant
24. november 2003 - 10:17 #10
Så lidt :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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