Avatar billede tobrukDk Novice
03. februar 2012 - 20:18 Der er 14 kommentarer og
1 løsning

ingen bruger eller lign i database frem vise tekst


<?php
                $result = mysql_query("SELECT * FROM brugere ORDER BY `id` DESC LIMIT 10");
                $num_rows = mysql_num_rows($query);                               
                while($row = mysql_fetch_array($result))
                    {
                ?>
                    <div id="addsbruger">
                                <ul>
                                        <li><?php echo $row['land'];?></li><br>
                                        <li><a href="djzbruger.php?id=<?php echo $row['id'];?>">Tjek <?php echo $row['djnavn'];?>'s Profil</a></li>
                                </ul>
                    </div>
                <?php
                    }
                ?>


Det er sådan at den skal frem vise noget tekst hvis det er sådan at der er ingen bruger på siden eller lign .. hvordan gøre jeg det så at den siger "Desværre ingen bruger på siden"

hvordan skal jeg gøre det ?


har prøve lidt med "mysql_num_rows"
Avatar billede olebole Juniormester
03. februar 2012 - 20:47 #1
<ole>

Jesper, det er meget ineffektivt at skrive ud i en løkke. I stedet kan du oprette et array og fylde data i det. Til slut skriver du ud én gang

<?php
$result = mysql_query("SELECT * FROM brugere ORDER BY `id` DESC LIMIT 10");
$arrHtml = array();     
if (mysql_num_rows($query)<1) {
    $arrHtml[] = 'Nobody here!';
}                   
while($row=mysql_fetch_assoc($result)) {
    $arrHtml[] = '<div id="addsbruger"><ul><li>'.$row['land'].'</li>'
              .= '<li><a href="jzbruger.php?id='.$row['id'].'">Tjek '.$row['djnavn'].'</li></ul></div>';
}

echo implode('', $arrHtml);
?>

/mvh
</bole>
Avatar billede olebole Juniormester
03. februar 2012 - 20:49 #2
Oooops ... jeg kopierede din mysql_num_rows kode - og der bruger du $query i stedet for $result  *o)

<?php
$result = mysql_query("SELECT * FROM brugere ORDER BY `id` DESC LIMIT 10");
$arrHtml = array();     
if (mysql_num_rows($result)<1) {
    $arrHtml[] = 'Nobody here!';
}                   
while($row=mysql_fetch_assoc($result)) {
    $arrHtml[] = '<div id="addsbruger"><ul><li>'.$row['land'].'</li>'
              .= '<li><a href="jzbruger.php?id='.$row['id'].'">Tjek '.$row['djnavn'].'</li></ul></div>';
}

echo implode('', $arrHtml);
?>
Avatar billede olebole Juniormester
03. februar 2012 - 20:52 #3
Læg også mærke til, at jeg bruger mysql_fetch_assoc. Den henter kun et associativt array.

mysql_fetch_array henter både et associativt array og et almindelig talindekseret array.

Da du kun bruger det associative array, er der ingen grund til at hente begge slags. Brug den første - det er mere effektivt  =)
Avatar billede tobrukDk Novice
03. februar 2012 - 21:08 #4
den siger at der er fejl ved


$arrHtml[] = '<div id="addsbruger"><ul><li>'.$row['land'].'</li>';
Avatar billede olebole Juniormester
03. februar 2012 - 21:12 #5
- ja og ...? Hvad siger fejlen, Jesper?  *o)
Avatar billede olebole Juniormester
03. februar 2012 - 21:14 #6
Ahhhh ... dumme mig!  :D

while($row=mysql_fetch_assoc($result)) {
    $arrHtml[] = '<div id="addsbruger"><ul><li>'.$row['land'].'</li>'
              . '<li><a href="jzbruger.php?id='.$row['id'].'">Tjek '.$row['djnavn'].'</li></ul></div>';
}
Avatar billede olebole Juniormester
03. februar 2012 - 21:17 #7
- og husk: Der er ikke noget semikolon i slutningen af linjen:

$arrHtml[] = '<div id="addsbruger"><ul><li>'.$row['land'].'</li>'

Den hænger sammen med den næste linje  =)

Og så opdagede jeg lige, du i din egen kode havde et <br> efter et LI element. Det må/kan man ikke
Avatar billede tobrukDk Novice
03. februar 2012 - 21:24 #8
Det virker 100% nu og tænker mange gerne for hjælpen olebole lukker den bare selv ikke også??
Avatar billede olebole Juniormester
03. februar 2012 - 21:27 #9
Naturligvis  *o)
Avatar billede olebole Juniormester
03. februar 2012 - 21:28 #10
Du kan jo sende pointene til Danmarks Indsamlingen på DR-TV  *D
Avatar billede tobrukDk Novice
03. februar 2012 - 21:35 #11
Okay det vil jeg ønske at jeg kun det. men jeg tag bare dem selv :) takker igen....
Avatar billede olebole Juniormester
03. februar 2012 - 21:46 #12
Hehe ... gør det. Husk at lægge svaret og accepter det. Hygge og hils omkring dig  *o)
Avatar billede tobrukDk Novice
03. februar 2012 - 21:56 #13
skal jeg nok. men Olebole


jeg har gøre det på den her måde

<?php
                $result = mysql_query("SELECT * FROM brugere ORDER BY `id` DESC LIMIT 10");
                $arrHtml = array();     
                    if (mysql_num_rows($result)<1) {
                        $arrHtml[] = '<p>Der er desværre ingen bruger</p>';
                    } 
                while($row = mysql_fetch_array($result))
                    {
                ?>
                    <div id="addsbruger">
                                <ul>
                                        <li><?php echo $row['land'];?></li><br>
                                        <li><a href="djzbruger.php?id=<?php echo $row['id'];?>">Tjek <?php echo $row['djnavn'];?>'s Profil</a></li>
                                </ul>
                    </div>
                <?php
                    }
                ?>
Avatar billede tobrukDk Novice
03. februar 2012 - 22:25 #14
lukker den her !..
Avatar billede olebole Juniormester
03. februar 2012 - 22:43 #15
Ja, det kan du godt gøre. Men det er væsentligt mere effektivt, når man ikke fiser ind og ud af PHP - eller echo'er en masse gange.

Din fremgangsmåde er ikke forkert, men kan godt blive bedre  =)
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