Avatar billede basketball Nybegynder
28. marts 2005 - 17:14 Der er 29 kommentarer og
1 løsning

Simpelt udtræk af data

Hejsa,

Er der nogen der kan lokalisere en fejl i det her meget simple script.. Jeg har brugt det før, men nu får jeg parse error.

<?php

if (isset($_GET["id"])) {

    mysql_connect("localhost", "xxx", "xxxxxx");
    mysql_select_db("xxxxxx");
    $query = mysql_query("SELECT * FROM xxxxxx WHERE id = '".$_GET["id"]."'");
        if (mysql_num_rows($query) == '1') {
            while ($row = mysql_fetch_array($query)) {
?>
<body>
<table width="100%" cellpadding="0"><font size="-1">


<tr>
                    <td height="20"><font size="-1"><b>test</b></td>
                    <td width="20">&nbsp;</td>
                    <td><font size="-1"><?php echo $row["test"]; ?></td>
                </tr>

                <tr>
                    <td height="20"><font size="-1"><b>test</b></td>
                    <td width="20">&nbsp;</td>
                    <td><font size="-1"><?php echo $row["test"]; ?></td>
                </tr>

</table>
</body>
Avatar billede baitianlong Nybegynder
28. marts 2005 - 17:19 #1
if (mysql_num_rows($query) == '1') {

skal nok være

if (mysql_num_rows($query)) {

ud over det bør du skrive: $_GET['id'] i stedet for $_GET["id"]

prøv med det :)
Avatar billede basketball Nybegynder
28. marts 2005 - 17:23 #2
takker :) men får stadigvæk en parse error på sidste linie :)?
Avatar billede baitianlong Nybegynder
28. marts 2005 - 17:38 #3
jeps... du lukker jo ikke din løkke :)

<body>
<table width="100%" cellpadding="0"><font size="-1">
<?php
if (isset($_GET['id'])) {
    mysql_connect("localhost", "xxx", "xxxxxx");
    mysql_select_db("xxxxxx");
    $query = mysql_query("SELECT * FROM xxxxxx WHERE id = '".$_GET['id']."'");
    if (mysql_num_rows($query)) {
      while ($row = mysql_fetch_array($query)) {
?>
<tr>
  <td height="20"><font size="-1"><b>test</b></td>
  <td width="20">&nbsp;</td>
  <td><font size="-1"><?php echo $row['test']; ?></td>
</tr>
<tr>
    <td height="20"><font size="-1"><b>test</b></td>
    <td width="20">&nbsp;</td>
    <td><font size="-1"><?php echo $row['test']; ?></td>
</tr>
<?php
          }
      }
}
?>
</table>
</body>
Avatar billede basketball Nybegynder
28. marts 2005 - 18:02 #4
åhh ja naturligvis :) det fjernede ihvertfald parse erroren :) en så må jeg lige finde ud af hvorfor der ingen data kommer frem *GG* og jep der er data i dben :)
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:10 #5
fejlsøgning:

$query = mysql_query("SELECT * FROM xxxxxx WHERE id = '".$_GET['id']."'") or die(mysql_error());

hvad siger den ?
Avatar billede basketball Nybegynder
28. marts 2005 - 18:16 #6
den siger intet.. i begge tilfælde er siden bare helt blank :)
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:21 #7
prøv så at udskrive mysql_num_rows efter queryen..
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:22 #8
$query = mysql_query("SELECT * FROM xxxxxx WHERE id = '".$_GET['id']."'");
print(mysql_num_rows($query);
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:22 #9
og så lige en parantes mere (det gør jeg hver gang :S)
Avatar billede basketball Nybegynder
28. marts 2005 - 18:25 #10
så får jeg en ny parse error
Avatar billede basketball Nybegynder
28. marts 2005 - 18:26 #11
lol nåhh ja, så jeg slet ikke.. anyway siden er fortsat bare blank
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:38 #12
sært.

nå, men så prøv at fjerne WHERE klausulen:

$query = mysql_query("SELECT * FROM xxxxxx");
print(mysql_num_rows($query));
Avatar billede basketball Nybegynder
28. marts 2005 - 18:40 #13
stadigvæk intet
Avatar billede baitianlong Nybegynder
28. marts 2005 - 18:52 #14
jamen så er xxxxxx tom !

prøv lige dette script, uden andet:

$tables = array();
mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
$result = mysql_query("SHOW TABLES");
while($table = mysql_fetch_row($result)) {
  array_push($tables, $table[0]);
}
foreach($tables as $table2) {
  $result = mysql_query("SELECT * FROM ".$table2);
  print("tabel: ".$table2." har ".mysql_num_rows($result)." poster");
}

:)
Avatar billede basketball Nybegynder
28. marts 2005 - 18:58 #15
hmm kører jeg denne viser den bare teksten direkte på skærmen..
Avatar billede baitianlong Nybegynder
28. marts 2005 - 19:00 #16
men hvad siger den ved den tabel, som det drejer sig om ?
Avatar billede basketball Nybegynder
28. marts 2005 - 19:00 #17
lol går lige stærkt nu.. :) glemte <p p> anyway.. den skriver at tabellen har 5 poster.
Avatar billede baitianlong Nybegynder
28. marts 2005 - 19:06 #18
så kunne det tyde på at der ikke er noget sted hvor id er det du beder om

øhh, når du tester siden, skal der jo være noget i id...

www.adresse.dk/side.php?id=5
Avatar billede basketball Nybegynder
28. marts 2005 - 19:10 #19
men id er blot en

(id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
Avatar billede baitianlong Nybegynder
28. marts 2005 - 19:10 #20
syret nok, mit link giver en 404 hos deutche post :P Men du ved nok hvad jeg mener
Avatar billede baitianlong Nybegynder
28. marts 2005 - 19:17 #21
ja, men hvis du bare skriver www.adressse.dk/side.php er $_GET['id'] jo tom/udefineret! kan du ikke se det :)
Avatar billede basketball Nybegynder
28. marts 2005 - 19:40 #22
åh sorry misforstod.. jo så kommer indholdet frem af den id
Avatar billede baitianlong Nybegynder
28. marts 2005 - 19:52 #23
jamen, så virker det jo fint nok (det skulle det også gerne) :)
Avatar billede basketball Nybegynder
28. marts 2005 - 19:54 #24
enig, men der kommer simpelthen intet frem på det sidste script :) strange
Avatar billede baitianlong Nybegynder
28. marts 2005 - 20:12 #25
Dette script:

<body>
<table width="100%" cellpadding="0"><font size="-1">
<?php
if (isset($_GET['id'])) {
    mysql_connect("localhost", "xxx", "xxxxxx");
    mysql_select_db("xxxxxx");
    $query = mysql_query("SELECT * FROM xxxxxx WHERE id = '".$_GET['id']."'");
    if (mysql_num_rows($query)) {
      while ($row = mysql_fetch_array($query)) {
?>
<tr>
  <td height="20"><font size="-1"><b>test</b></td>
  <td width="20">&nbsp;</td>
  <td><font size="-1"><?php echo $row['test']; ?></td>
</tr>
<tr>
    <td height="20"><font size="-1"><b>test</b></td>
    <td width="20">&nbsp;</td>
    <td><font size="-1"><?php echo $row['test']; ?></td>
</tr>
<?php
          }
      }
}
?>
</table>
</body>

Virker, hvis du sender et id med i URL'en, som eksisterer i databasen (og der er data ved det id, i feltet med navnet: test)

www.dinadresse.dk/testside.php?id=1
Avatar billede basketball Nybegynder
28. marts 2005 - 20:15 #26
Mit script ser sådan her ud nu:

__________sideshow.php_______________________

<?php
if (isset($_GET['id'])) {
  mysql_connect("localhost", "xxxx", "xxxxxx");
    mysql_select_db("xxxxxx");
  $query = mysql_query("SELECT * FROM xxxx WHERE id = '".$_GET["id"]."'"); 
      if (mysql_num_rows($query)) {
      while ($row = mysql_fetch_array($query)) {
?>

<body>
<table width="100%" cellpadding="0">
<tr>
                    <td><b><font color="#000000">test2</font></b></td>
                    <td>&nbsp;</td>
                    <td><?php echo $row["test2"]; ?></td>
                </tr>
<tr>
                    <td><b>test</b></td>
                    <td>&nbsp;</td>
                    <td><?php echo $row["test"]; ?></td>
                </tr>

</table>
</body>

<?php
}
        }
}

?>

_________________-

Men den lister simpelthen intet fra siden når man går ind på sideshow.php
Avatar billede basketball Nybegynder
28. marts 2005 - 20:20 #27
måske jeg er galt på den.. det jeg søger er blot at jeg få listet alle rækker i databasen :)
Avatar billede baitianlong Nybegynder
28. marts 2005 - 20:31 #28
det første du spørger den om er:

-er der en variabel i url'en, der hedder id

if(isset($_GET['id'])) {
  // hent data fra databasen hvor id er det samme som der står i denne variabel.

hvis ikke der er det, skal du ikke gøre en fis (fortæller du scriptet).

Desuden retter du ikke scriptet, som jeg skriver. Hvis der f.eks er ti poster, vil du få ti <body> tags, da du også udskriver dem i løkken. Det er ikke så smart

----------------------------------------------------

<body>
<table width="100%" cellpadding="0">
<?php
mysql_connect("localhost", "xxxx", "xxxxxx");
mysql_select_db("xxxxxx");
$query = mysql_query("SELECT * FROM xxxx"); 
  while ($row = mysql_fetch_assoc($query)) {
?>
<tr>
  <td><b><font color="#000000">test2</font></b></td>
  <td>&nbsp;</td>
  <td><?php echo $row['test2']; ?></td>
</tr>
<tr>
  <td><b>test</b></td>
  <td>&nbsp;</td>
  <td><?php echo $row['test']; ?></td>
</tr>
<?php
}
?>
</table>
</body>
Avatar billede basketball Nybegynder
28. marts 2005 - 21:00 #29
damn er blevet træt.. klumre i det... virker perfekt takker mange gange :)
Avatar billede baitianlong Nybegynder
28. marts 2005 - 21:09 #30
Det var så lidt... sov godt :)
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