Avatar billede Hansen_ Praktikant
10. oktober 2010 - 20:50 Der er 27 kommentarer og
1 løsning

Udtrækning af data fra table.

Hey folkens.

Sikkert et nemt spørgsmål til jer.

Hvordan får jeg trukket min data ud fra min table, for når jeg gør det, får jeg kun Resource id #2 ??? hvad end det er :S




<?php
$connect = mysql_connect("", "", "") or die(mysql_error);
mysql_select_db("", $connect) or die (mysql_error);


$add_filmnavn = "insert into dennis_filmnavn values ('', now(), now(), '$_POST[filmnavn]')";
mysql_query($add_filmnavn) or die(mysql_error);

$result = mysql_query("SELECT * FROM dennis_filmnavn");

echo $result;

?>
Avatar billede w13 Novice
10. oktober 2010 - 21:00 #1
Du burde blot kunne rette:

echo $result;


til:

while ($result = mysql_fetch_assoc()) {
    ?>

    <p><?= $result['id']; ?></p>

    <?php
}


Som du ser, kan du inde i while'n bruge <?= $result['feltnavn']; ?> til at udskrive en værdi fra databasen.
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 21:25 #2
Jeg får følgende fejl.

Warning: mysql_fetch_assoc() expects at least 1 parameter, 0 given in /customers/sanded.dk/sanded.dk/httpd.www/phptestdennisny/test.php on line 42

Og hej igen btw :))))
Avatar billede ggxdg Nybegynder
10. oktober 2010 - 21:40 #3
prøv med

while ($row = mysql_fetch_assoc($result)) {
    ?>

    <p><?= $row['id']; ?></p>

    <?php
}


og hvis du skal have mere end "id" tilføjer du bare flere $row['kolonnenavn'] variabler
Avatar billede w13 Novice
10. oktober 2010 - 21:44 #4
Ja, jeg missede lige en detalje. Det bør være:

while ($result = mysql_fetch_assoc($sql)) {
    ?>

    <p><?= $result['id']; ?></p>

    <?php
}


Og så skal din mysql_query rettes fra:

mysql_query($add_filmnavn) or die(mysql_error);


til:

$sql = mysql_query($add_filmnavn) or die(mysql_error);
Avatar billede w13 Novice
10. oktober 2010 - 21:45 #5
I stedet for $result kan du med fordel bruge $row, som ggxdg foreslår, da det ser noget pænere ud, især når din kode vokser. =)
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 21:49 #6
Stadig fejl. :(

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /customers/sanded.dk/sanded.dk/httpd.www/phptestdennisny/test.php on line 42
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 21:50 #7
hmm hvad er forskellen på $row og $result? :)

udover variablen self hedder noget andet :P
Avatar billede w13 Novice
10. oktober 2010 - 21:52 #8
Intet. :) $row er kortere, og jeg synes, det ser bedre ud i en kode. :P

Jeg ser lige på fejlen om 5-10 minutter.
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 21:54 #9
Ok takker folkens :)

ok - jeg afventer W13. :) jeg er gået lidt i stå - jeg sidder her med min bog og bladrer som bare fanden, men tror vidst jeg er brændt lidt sammen for idag :P (vil lære det her, og har siddet her i snart 10 timer :P)
Avatar billede w13 Novice
10. oktober 2010 - 22:03 #10
Ups, dette:

$sql = mysql_query($add_filmnavn) or die(mysql_error);


skal vist være:

$sql = mysql_query($add_filmnavn) or die(mysql_error());


Ændrer fejlbeskeden sig så?

Under alle omstændigheder ser det ud til, at dit SQL-kald (eller dine database-oplysninger) er ukorrekte. Er alle navne korrekte?
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:09 #11
Ja databasen burde være ok. Det jo sådan set heller ikke database fejl den kommer med? :) men er der noget bestemt jeg lige skal kigge efter?

fejlen er forsat Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /customers/sanded.dk/sanded.dk/httpd.www/phptestdennisny/test.php on line 42

ændrede intet.
Avatar billede w13 Novice
10. oktober 2010 - 22:17 #12
Ok, jeg burde nok have set denne fejl.. Din linje:

$add_filmnavn = "insert into dennis_filmnavn values ('', now(), now(), '$_POST[filmnavn]')";


skal fx. rettes til:

$add_filmnavn = "INSERT INTO dennis_filmnavn (felt1, felt2, felt3, filmnavn) VALUES ('', now(), now(), '$_POST[filmnavn]')";


Du manglede at angive de feltnavne, som dine values skal placeres i. Man skriver dem i den første parentes, sådan som jeg har gjort. Så skal du bare rette felt1, felt2, felt3 og filmnavn til de rigtige feltnavne fra databasen.

Hvis det stadig ikke virker, så post lige din kode, som den ser ud nu.
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:27 #13
<?php
$connect = mysql_connect("", "", "") or die(mysql_error);
mysql_select_db("", $connect) or die (mysql_error);


$add_filmnavn = "INSERT INTO dennis_filmnavn (id, date_added, date_modified, filmnavn) VALUES ('', now(), now(), '$_POST[filmnavn]')";
$sql = mysql_query($add_filmnavn) or die(mysql_error());

$result = mysql_query("SELECT * FROM dennis_filmnavn");

while ($row = mysql_fetch_assoc($sql)) {
    ?>

    <p><?= $row['id']; ?></p>

    <?php
}

?>




samme fejl :(

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /customers/sanded.dk/sanded.dk/httpd.www/phptestdennisny/test.php on line 42

Jeg har checket mine rows i databasen, og der ligger data.
Avatar billede ggxdg Nybegynder
10. oktober 2010 - 22:38 #14
<?php
$connect = mysql_connect("", "", "") or die(mysql_error);
mysql_select_db("", $connect) or die (mysql_error);


$add_filmnavn = "INSERT INTO dennis_filmnavn (id, date_added, date_modified, filmnavn) VALUES ('', now(), now(), '$_POST[filmnavn]')";
mysql_query($add_filmnavn) or die(mysql_error());

$result = mysql_query("SELECT * FROM dennis_filmnavn");

while ($row = mysql_fetch_assoc($result)) {
    ?>

    <p><?= $row['id']; ?></p>

    <?php
}

?>



Burde at fungere...
Avatar billede w13 Novice
10. oktober 2010 - 22:41 #15
Hvis feltet id er sat til automatisk at lave stigende id-nr., så skal du ikke have det med i din "INSERT INTO". Så ret til:

$add_filmnavn = "INSERT INTO dennis_filmnavn (date_added, date_modified, filmnavn) VALUES (now(), now(), '$_POST[filmnavn]')";


Og så et dumt spørgsmål.. Ser dine linjer virkelig sådan her ud eller har du fjernet oplysninger:

$connect = mysql_connect("", "", "") or die(mysql_error);
mysql_select_db("", $connect) or die (mysql_error);


:) Ellers er det i hvert fald klart. :o)
Avatar billede w13 Novice
10. oktober 2010 - 22:42 #16
Ah, nu ser jeg det!

$sql = mysql_query($add_filmnavn) or die(mysql_error());

$result = mysql_query("SELECT * FROM dennis_filmnavn");


skal byttes om til:

mysql_query($add_filmnavn) or die(mysql_error());

$sql = mysql_query("SELECT * FROM dennis_filmnavn");


Så burde det gerne fungere. :)
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:42 #17
Ja jeg skulle faktisk lige til at skrive det.

Men den poster rows og ikke det aktuelle, som står i databasen. altså jeg tænker på det man skriver i input feltet.

Dvs PT har jeg en tæller, som tæller fra 1 - 76. :P
Avatar billede w13 Novice
10. oktober 2010 - 22:45 #18
Den sidste rettelse, burde gøre tricket! :) Det er lidt for sent til, at jeg tænker klart, åbenbart. =)
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:47 #19
ARHW.. Hvor mange fejl kan der da findes :P


Column count doesn't match value count at row 1


og til dit "dumme" spørgsmål - nej, jeg har skam bare slettet det når jeg poster herinde, ikke fordi min database er noget at råbe hurra for at rode i, men bare for sikkerhedens skyld :P
Avatar billede w13 Novice
10. oktober 2010 - 22:49 #20
;)

Hvilken linje producerer den fejl?
Avatar billede w13 Novice
10. oktober 2010 - 22:50 #21
Det lyder som om din INSERT INTO ikke har angivet samme antal felter som værdier.. Hvordan ser den linje ud lige nu?
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:50 #22
Nu får jeg fat i den rigtige ende tror jeg, med de ting jeg har skrevet ind. Men nu bliver de spammet ud på siden.

og fjerner jeg

id

så kommer samme fejl som før igen.



<?php
$connect = mysql_connect("", "", "") or die(mysql_error);
mysql_select_db("", $connect) or die (mysql_error);


$add_filmnavn = "INSERT INTO dennis_filmnavn (id, date_added, date_modified, filmnavn) VALUES ('', now(), now(), '$_POST[filmnavn]')";
mysql_query($add_filmnavn) or die(mysql_error());

$sql = mysql_query("SELECT * FROM dennis_filmnavn");

while ($row = mysql_fetch_assoc($sql)) {
    ?>

    <p><?= $row['filmnavn']; ?></p>

    <?php
}

?>
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:52 #23
sådan ser det ud når jeg kalder php.test som er den jeg roder i.

suuuuuuuuuuuuuut den film

suuuuuuuuuuuuuut den film

suuuuuuuuuuuuuut den film

suuuuuuuuuuuuuut den film





flemming sørensens adventures

flemming sørensens adventures

flemming sørensens adventures



test

test
Avatar billede Hansen_ Praktikant
10. oktober 2010 - 22:57 #24
GUTTER ...

DET VIRKER :P

Grunden til det er spammet ud, er fordi at når jeg trykker f5 for opdater, så poster den altså en ny linje ind i databasen, måske ikke optimalt, men so far so good.

I skal have mange tak for hjælpen. :D

kan jeg adde flere point til denne? bare at der kun er så få point at gøre godt med.

Kan i dele? :P eller går i ikke op i det? :P
Avatar billede ggxdg Nybegynder
11. oktober 2010 - 07:51 #25
Bare spring mig over her...
Avatar billede Hansen_ Praktikant
11. oktober 2010 - 07:59 #26
ok.

du skal ihvertfald have mange tak for hjælpen :)
Avatar billede w13 Novice
11. oktober 2010 - 08:26 #27
;)
Avatar billede w13 Novice
12. oktober 2010 - 09:21 #28
Tak for point! :)
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

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