Avatar billede kimox Nybegynder
19. april 2004 - 12:28 Der er 35 kommentarer og
2 løsninger

Link med id

Kære eksperter..

Jeg håber i kan hjælpe mig

Jeg har flere links som hedder

http://(site)/info.php?id=1 op til 12

hvor det er meningen at når man klikker på et link henter den oplysningerne frem fra id=1 i databasen.
Hvordan er det nu lige jeg gør det?

Håber i kan hjælpe mig !!
Avatar billede dennismp Nybegynder
19. april 2004 - 12:31 #1
<?php

$id = intval($_GET['id']);

$sql = "SELECT info1, info2 FROM table WHERE id = '$id'";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
if( $row ) {
  print stripslashes($row[0]) . ' og ' . stripslashes($row[2]);
}
else {
  print "Fandt ikke id $id";
}
?>
Avatar billede chries Nybegynder
19. april 2004 - 12:32 #2
hvad med:

if( isset($_GET['id']) )
{
  $id = mysql_escape_string($_GET['id']); // sikre id
 
  $sql = "SELECT * FROM tabel WHERE id={$id}"

  ...
}
Avatar billede dennismp Nybegynder
19. april 2004 - 12:36 #3
Smag og behag. Jeg kender ikke til et usikkert heltal, mysql ikke kan håndtere :-)
Avatar billede chries Nybegynder
19. april 2004 - 12:39 #4
mysql_escape_string sikre ikke særlig meget :). Det var bare for at køre omærksom på der skulle passe på der i mit eks. =)
Avatar billede dennismp Nybegynder
19. april 2004 - 12:44 #5
Aha, så mistolkende jeg vist din kommentar..

Hvad ligner det også, at smide kommentare i koden, sheesh! :)
Avatar billede kimox Nybegynder
19. april 2004 - 13:11 #6
<?php
mysql_connect("localhost", "host", "pass");
mysql_select_db("DB");

if( isset($_GET['id']) )
{
$id = mysql_escape_string($_GET['id']); // sikre id
 
$sql = "SELECT * FROM navn, tekst WHERE id={$id}";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
if( $row ) {
print stripslashes($row[0]) . ' og ' . stripslashes($row[2]);
} else {
print "Fandt ikke id $id";
}
?>
          <td height="106" colspan="2" rowspan="2"> <table width="100%" height="682" cellpadding="10" cellspacing="2" class="table1" style="height:136px">
              <tr>
                <td height="620" valign="top">
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;<?=$row[navn]?></span></strong></td>
                    </tr>
                    <tr>
                      <td><?=$row[tekst]?></td>
                    </tr>
                  </table>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
            </table></td>
        </tr>


Hvad er der galt her?
Avatar billede chries Nybegynder
19. april 2004 - 13:24 #7
manglende }

if( isset($_GET['id']) )
{
$id = mysql_escape_string($_GET['id']); // sikre id
 
$sql = "SELECT * FROM navn, tekst WHERE id={$id}";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
if( $row ) {
print stripslashes($row[0]) . ' og ' . stripslashes($row[2]);
} else {
print "Fandt ikke id $id";
}
}
else
{
print "id ikke sat";
}


og din sql er måske forkert, du vil have navn og text i tabel NAVN

$sql = "SELECT navn, tekst FROM NAVN WHERE id={$id}";
Avatar billede dennismp Nybegynder
19. april 2004 - 13:28 #8
<?php
mysql_connect("localhost", "host", "pass");
mysql_select_db("DB");

if( isset($_GET['id']) ) {
  $id = mysql_escape_string($_GET['id']); // sikre id
 
  $sql = "SELECT * FROM navn, tekst WHERE id={$id}";

  $res = mysql_query($sql) or die(mysql_error());
  $row = mysql_fetch_array($res);
  if(! $row ) {
    print "Fandt ikke id $id";
  }
  else {
?>
          <td height="106" colspan="2" rowspan="2"> <table width="100%" height="682" cellpadding="10" cellspacing="2" class="table1" style="height:136px">
              <tr>
                <td height="620" valign="top">
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;<?=$row[navn]?></span></strong></td>
                    </tr>
                    <tr>
                      <td><?=$row[tekst]?></td>
                    </tr>
                  </table>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
            </table></td>
        </tr>
<?php
  }
}
?>
Avatar billede kimox Nybegynder
19. april 2004 - 13:36 #9
ja det var galt den med NAVN hehe ..

men synes ikke det virker endnu :(((

if( isset($_GET['id']) )
{
$id = mysql_escape_string($_GET['id']); // sikre id
 
$sql = "SELECT navn, tekst FROM info WHERE id={$id}";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
if( $row ) {
print stripslashes($row[0]) . ' og ' . stripslashes($row[2]);
} else {
print "Fandt ikke id $id";
}
}
else
{
print "id ikke sat";
}
?>
          <td height="106" colspan="2" rowspan="2"> <table width="100%" height="682" cellpadding="10" cellspacing="2" class="table1" style="height:136px">
              <tr>
                <td height="620" valign="top">
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;<?=$row[navn]?></span></strong></td>
                    </tr>
                    <tr>
                      <td><?=$row[tekst]?></td>
                    </tr>
                  </table>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
Avatar billede dennismp Nybegynder
19. april 2004 - 13:43 #10
Du må være lidt mere specifik
Avatar billede trevi Nybegynder
19. april 2004 - 14:53 #11
Hej .. undskyld det var mig der var en klovn ;).. jeg havde skrevet noget forkert .. men tusind tak for hjælpen .. !! jeg deler de 150 mellem jer for i har hjulpet begge.. !!
Avatar billede trevi Nybegynder
19. april 2004 - 15:16 #12
-lukket-
Avatar billede dennismp Nybegynder
19. april 2004 - 15:28 #13
Hvis du vil dele pointene ud, så har vi begge lagt et svar (øverst)
Avatar billede trevi Nybegynder
19. april 2004 - 15:30 #14
underligt.. jeg kan ikke give nogle ?

og der står:

Navn trevi
Point 340
Point ude 0 <<<<< ????
Placering 8.280

jeg opretter lige en ny og så må i skrive der hvis i er interreseret
Avatar billede trevi Nybegynder
19. april 2004 - 15:30 #15
ellers opret et svar mere
Avatar billede kimox Nybegynder
19. april 2004 - 15:32 #16
ups.. var på min brors bruger.. han havde ikke logget ordentligt af
Avatar billede kimox Nybegynder
19. april 2004 - 15:32 #17
-lukket-
Avatar billede kimox Nybegynder
19. april 2004 - 15:40 #18
hov ..skal lige høre noget..
nu ser det sådan her ud:

              <?php
if( isset($_GET['id']) )
{
$id = mysql_escape_string($_GET['id']); // sikre id
 
$sql = "SELECT navn, tekst FROM info WHERE id={$id}";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);
?>
          <td height="106" colspan="2" rowspan="2"> <table width="100%" height="682" cellpadding="10" cellspacing="2" class="table1" style="height:136px">
              <tr>
                <td height="620" valign="top">
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;<?=$row[navn]?></span></strong></td>
                    </tr>
                    <tr>
                      <td><?=$row[tekst]?>
                      <p>
        <?php if( $row ) {
        // print stripslashes($row[0]) . ' og ' . stripslashes($row[2]);
        } else {
        print "Information $id blev ikke fundet";
        }
        }
        else
        {
        echo "Der er ikke skrevet noget id";
        }
        ?>
</p></td>
                    </tr>
                  </table>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>

Når man ikke skrver ?id=1 eks. så der kun står info.php
så siden helt amok og skriver øverst: "Der er ikke skrevet noget id".

hvorfor det??
Avatar billede chries Nybegynder
19. april 2004 - 15:45 #19
du skal have

        }
        else
        {
        echo "Der er ikke skrevet noget id";
        }

flyttet nederst
Avatar billede chries Nybegynder
19. april 2004 - 15:46 #20
så {} matcher korrekt så  outputet af tbale elementer passer når der ikke er noget id
Avatar billede dennismp Nybegynder
19. april 2004 - 15:46 #21
det var det jeg mente med at der er noget galt med din struktur..

Prøv dette (utestet)

<?php
if( isset($_GET['id']) )
{
$id = mysql_escape_string($_GET['id']); // sikre id
 
$sql = "SELECT navn, tekst FROM info WHERE id={$id}";

$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);

if( $row ) {
?>
          <td height="106" colspan="2" rowspan="2"> <table width="100%" height="682" cellpadding="10" cellspacing="2" class="table1" style="height:136px">
              <tr>
                <td height="620" valign="top">
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;<?=$row[navn]?></span></strong></td>
                    </tr>
                    <tr>
                      <td><?=$row[tekst]?>
                      <p>
</p></td>
                    </tr>
                  </table>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
}
else {
  print "<tr><td>ID findes ikke.. </td></tr>";
}
?>
Avatar billede trevi Nybegynder
19. april 2004 - 15:48 #22
den skal flyttes allernederst på hele siden eller skal den bare være der hvor i kan se til ?
Avatar billede chries Nybegynder
19. april 2004 - 15:50 #23
det skal laves som dennismp's "eksempel" der mangler bare et par tags som:
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
->
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
            </td>

og
  print "<tr><td>ID findes ikke.. </td></tr>";
->
  print "<td>ID findes ikke.. </td>";

hvis det skal passe med if'en laver et "td" felt
Avatar billede kimox Nybegynder
19. april 2004 - 16:00 #24
kan ikke få det til at due ://.. hvis jeg laver en .phps fil er der en af jer der er søde og lave det så ?
Avatar billede dennismp Nybegynder
19. april 2004 - 16:20 #25
.phps eller .txt er fint - lad os se på det.
Avatar billede kimox Nybegynder
19. april 2004 - 16:24 #26
okay.. mange tak for det:

http://vix-mix.dk/info.phps
Avatar billede dennismp Nybegynder
19. april 2004 - 16:32 #27
Avatar billede kimox Nybegynder
19. april 2004 - 16:39 #28
rigtig godt gået når man ikke har ?id=1 med .. men kan man lave sådan så der er den hvide tabel stadig når man ikke har det med, i stedet at den bare fjerner den ?
Avatar billede dennismp Nybegynder
19. april 2004 - 16:44 #29
Joda

i koden finder du:
<?php } else  { ?>
                  <table width="451" height="8" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td height="26" background="images/top/menu2.jpg" bgcolor="#999999"><strong>
                        &nbsp;&nbsp;&nbsp;<span class="header">&nbsp;Ikke fundet</span></strong></td>
                    </tr>
                  </table>
<?php } ?>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                  </td>
              </tr>
            </table></td>
        </tr>
<?php } ?>

hvis du erstatter <?php } ?> med <?php } else { ?>
og så laver noget htmlkode der skal vises og afslutter med
<?php } ?>
så kan du bare putte det html der skal komem frem, når der ikke er noget "id"
Avatar billede kimox Nybegynder
19. april 2004 - 16:58 #30
tror det er mig der er dum hehe .. men kan bare ikke få den til det
Avatar billede dennismp Nybegynder
19. april 2004 - 17:06 #31
prøv at kigge her.. Jeg har lavet lidt om, og smidt 2 (html)kommentarer ind, der hvor den skriver almindeligt - og hvor der er gået noget galt (det kan så være at id-mangler eller rækken ikke findes)

http://dennis.moellegaard.dk/v4/php/490866.phps
Avatar billede kimox Nybegynder
19. april 2004 - 17:11 #32
PERFEEEEKT !!!!!!!!!!!!!!!! weeeee hehe

en lille bitte ting mere .. når man ikke skriver et id nummer som ?id= så skriver den:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

kan man lave det som så den bare viser siden som hvis man ikke har skrevet id=1
Avatar billede dennismp Nybegynder
19. april 2004 - 17:16 #33
find og erstat disse linjer
    $res = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_array($res);
med
    $res = mysql_query($sql);// or die(mysql_error());
    if( $res )
        $row = mysql_fetch_array($res);
    else
        $row = false;
Avatar billede kimox Nybegynder
19. april 2004 - 17:22 #34
det virker perfekt.. hvis jeg havde en million points havde du fået dem hehehe !!!!
tusind tak for din hjælp og din tid
Avatar billede dennismp Nybegynder
19. april 2004 - 17:24 #35
100.00 points er da også iorden :-)

Det var så lidt, held og lykke med koden.
Avatar billede kimox Nybegynder
19. april 2004 - 17:26 #36
jo mange mange gange tak ...
Avatar billede kimox Nybegynder
19. april 2004 - 17:26 #37
-lukket-
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