Avatar billede foght Nybegynder
07. april 2003 - 19:41 Der er 8 kommentarer og
1 løsning

et php script der kun vil udskrive ulige numre :( ?!?!

Ja jeg har lavet et php script der skal udskrive nogen oplysninger fra en database. problemet er at den kun vil udskrive rækker med ulige id'er!? Altså f.eks. trykker jeg på et link der ligner det her: index.php?vis_spiller=4 så vil den ikke skrive infoen ud for spilleren med id=4. Hvis der står 3 istedet for 4, så bliver tingene skrevet fint ud. Det er den eneste gang jeg har været udsat for det, og de andre ting i det system jeg har lavet, som er lavet på samme måde, virker fint.

HJÆLP!
Avatar billede schaefner Juniormester
07. april 2003 - 19:42 #1
Prøv at poste noget kode
Avatar billede foght Nybegynder
07. april 2003 - 19:56 #2
gerne.

Nedenstående udskriver en liste over spillere. Og det virker fint

<?php
include_once "../adodb/adodb.inc.php"; # load code common to ADODB
$conn1 = &ADONewConnection('mysqlt');  # create a connection
if (@$conn1->Connect('localhost', "root", "", "dhg"))
  {
      $sql = "SELECT dhg_spiller.spiller_id, dhg_spiller.spillernr, dhg_medlem.navn, dhg_medlem_hold.kat_id, dhg_spiller.position, dhg_spiller.hoejde, dhg_spiller.fdag FROM dhg_spiller, dhg_medlem_hold, dhg_medlem ";
$sql.= "WHERE dhg_medlem_hold.hold_id = '$vis_hold' AND dhg_medlem_hold.kat_id = '1' AND dhg_medlem_hold.medlem_id = dhg_medlem.medlem_id AND dhg_medlem_hold.medlem_id = dhg_spiller.medlem_id";
$rs2 = &$conn->Execute($sql);

while (!$rs2->EOF) {
echo "<tr>";
echo "<td width=\"32\" class=\"content\">".$rs2->fields[spillernr]."</td>";
echo "<td width=\"133\" class=\"content\"><a href=\"?sektion=spiller&vis_spiller=".$rs2->fields[spiller_id]."\">".$rs2->fields[navn]."</a></td>";
echo "<td width=\"52\" class=\"content\">".$rs2->fields[position]."</td>";
echo "<td width=\"59\" class=\"content\">".$rs2->fields[hoejde]."</td>";
echo "<td width=\"49\" class=\"content\">".$rs2->fields[fdag]."</td>";
echo "</tr>";
  $rs2->MoveNext();
  }
}
?>

Nedenstående kalder filen med funktionen der skal udskrive linket.
if($sektion==spiller&$vis_spiller){
include "includes/spiller.inc.php";
}

Dette er det vigtigste indhold i spiller.inc.php
if($vis_spiller) {
vis_spiller($vis_spiller);
}

Det her er en funktion der bliver kaldt fra spiller.inc.php
function vis_spiller($vis_spiller = '')
{
echo $vis_spiller;
}

og det der echo virker altså kun hvis det er ulige tal.
Avatar billede bacce.dk Nybegynder
07. april 2003 - 20:10 #3
hmm tror schaefner mente den kode som ik virkede fint han ville se ;-)
Avatar billede foght Nybegynder
07. april 2003 - 20:21 #4
øh.. har jeg da også? Det er kun det stykke mellem <?php og ?> der virker. Har jeg forklaret i kommentarerne til kodestykkerne.
Avatar billede fangel Nybegynder
08. april 2003 - 16:14 #5
det er dog den værste gang snask jeg længe har set...

--- ex ---
if($sektion==spiller&$vis_spiller){
burde give dig MINDST 3 warnings fra PHP... prøv at ændre den til

if($sektion=="spiller" && isset($vis_spiller)){
dette vil hjælpe på det

da det nok er variabler fra adresselinien, så er dette her ENDNU mere korrekt
if($_GET['sektion']=="spiller" && isset($_GET['vis_spiller'])){
--- /ex ---

i øvrigt burde du bruge en ordenlig database som fx MySQL...

Morten
Avatar billede foght Nybegynder
08. april 2003 - 23:03 #6
bruger skam også mysql, hvad troede du da det var?

Men har lavet nogen småændringer som fik det til at virke, uden warnings.

kan være jeg kan bruge din råd alligevel morten, så giv et svar så giver jeg gerne point.
Avatar billede fangel Nybegynder
09. april 2003 - 14:33 #7
dette ligner bare ikke MySQL...

nclude_once "../adodb/adodb.inc.php"; # load code common to ADODB
$conn1 = &ADONewConnection('mysqlt');  # create a connection
if (@$conn1->Connect('localhost', "root", "", "dhg"))

har du overvejet at bruge standard-koderne for MySQL-databaser ?

Morten
Avatar billede foght Nybegynder
09. april 2003 - 14:56 #8
ja
men dette er en del af projektsammenhæng. Og vores lærer er tilhænger af adodb connections, derfor denne type kode. Desuden er det med adodb lettere at skifte til en anden type database hvis man skulle have lyst til det.
Derfor
Avatar billede foght Nybegynder
10. juli 2003 - 17:58 #9
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