Avatar billede trax Nybegynder
15. marts 2006 - 11:11 Der er 7 kommentarer og
1 løsning

problem med mit første php/mysql script

Hej

har lige købt en stak php og mysql bøger, så sidder og leger lidt med det.

Jeg har et problem med følgende:

<?php
                                $db = mysql_connect("SERVER", "MIT BRUGERNAVN", "MIT PASSWORD");
                               
                                mysql_select_db("DATABASENAVN",$db);
                               
                                $result = mysql_query("SELECT * FROM links",$db);
                               
                                while ($post = mysql_fetch_row($result)){
                               
                                ?>
                               
                                <a href="<? $post[link] ?>"><b><? $post[tekst] ?></b></a>
                               
                                <hr>
                               
                                <?
                                }
                                ?>


Den udskriver fint "<hr>" svarende til det antal poster jeg har i min tabel "links" (3 stk) men selve teksten fra "link" og "tekst" bliver ikke skrevet.

Nogen der har en forklaring?
Avatar billede Slettet bruger
15. marts 2006 - 11:27 #1
Fejlen ligger i at du benytter mysql_fetch_row nu hvor du har flere rækker.
Erstat det med mysql_fetch_array i stedet og du vupti :-)
Avatar billede Slettet bruger
15. marts 2006 - 11:29 #2
Du kan også kigge i PHP manualen og se forskellen på de forskellige funktioner:

http://dk.php.net/mysql_fetch_row

http://dk.php.net/mysql_fetch_array

og god fornøjelse med PHP :-)
Avatar billede trax Nybegynder
15. marts 2006 - 11:33 #3
Det virkede heller ikke :|

men tak for det hurtige svar !
Avatar billede idazio Nybegynder
15. marts 2006 - 11:33 #4
mysql_connect("server", "bruger", "password");
mysql_select_db("db");

//Skriv hvad du vil hente saa sparer du resourcer
$result = mysql_query("SELECT link,tekst FROM links");
while ($post = mysql_fetch_assoc($result)) {
    //Udskriv med print eller echo. paa den maade faar du det bedstre resultat og du skal ikke taenkte paa at lave <? ?> heletiden.
    print '<a href="'.$post['link'].'"><b>'.$post['tekst'].'</b></a><hr>';
}
Avatar billede idazio Nybegynder
15. marts 2006 - 11:33 #5
det skulle have vaere et svar... :D
Avatar billede trax Nybegynder
15. marts 2006 - 11:40 #6
se det virkede :)
Avatar billede trax Nybegynder
15. marts 2006 - 11:41 #7
Jeg tror hæftet "Databasebaserede websider" er lidt forældet ..
Avatar billede Slettet bruger
15. marts 2006 - 11:50 #8
Jeg testede nu ellers mit eget, og det virkede fint hos mig, dog benyttede jeg mig også af echo som idazio også forklare, jeg skal ikke kunne sige om det har nogen indflydelse:

    $result = mysql_query("SELECT link, text FROM links",$db);
    while ($post = mysql_fetch_array($result)) {
        echo "<a href=\"$post[link]\"><b>$post[text]</b></a><hr> \n";
    }

Men super du fik det til at virke.
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