Ovenfor kan ses layout for en side jeg laver,.. products.php som siden hedder skal gerne når man trykker på f.eks. "ebeltoft - trustrup" skrive "Jernbanemærker" som hovedoverskrift og "Ebeltoft - trustrup" som underoverskrift,... skal man gøre det
Hvert af linksne til venstre hedder products.php?mainId=101 med forskelligt mainId til hver,... hvordan kan jeg få de to overskrifter med? skal de være med i databasen på en måde eller kan jeg bare sætte dem i URL´en?
eller skal jeg lave en if sætning products.php der siger if mainId == 101 så overskrift det og det ellers hvis mainId == 102 så overskrift det og det,.. eller hvordan?
øhm,.. $q og $query skal det ikke være det samme? og hvordan når jeg allerede har: $q = mysql_query("select count(*) from items " . $where); $num_rows = mysql_result($q, 0);
i min products.php skal jeg så ikke kalde $q for $overskrifter eller noget? ellers blander sig vel med hinanden?
Jow, selvfølgelig har du ret i at $q og $query skal være det samme. Jeg bruger normalt selv $q, men det er mere pædagogisk at bruge $query, så her kiksede det lige for mig :)
Og du kan ikke direkte kombinere de 2 udtræk. Derfor gør det ingenting at de har samme navn, når de kommer efter hinanden. Men ellers kan den ene jo kaldes $query1 eller hvad pokker du vil, ingen betydning.
ok,.. så hvis jeg har begge querys sat op i starten,.. har php ikke nogen problemer med hvor hvad kommer fra når jeg smider en overskrift ind med: <?php echo $row["overskrift1"]; ?> <?php echo $row["overskrift2"]; ?>
Det giver vel kun problemer hvis der i både items- og overskrifttabellen er række der hedder overskrift1, ikke sandt?
Der gør det ikke noget, at der er 2 x $row. Men, hvis du tilgengæld har:
$q = mysql_query("SELECT * FROM tabel"); while($row = mysql_fetch_array($q)) { echo $row['felt']; $q = mysql_query("SELECT * FROM tabel2"); while($row = mysql_fetch_array($q)) { echo $row['felt_fra_anden_tabel']; } } ...så vil du få store problemer, da du overskriver din $row og $q med nyt indhold inden du er færdig med at bruge det. For at være på den sikre side, så kan du jo give det ene udtræk nogen andre navne...
den melder: Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 6 in C:\Program Files\Apache Group\Apache2\htdocs\jernbanemaerker\products.php on line 42
Så udbyg lige din forespørgsel til: $query1 = mysql_query("SELECT overskrift1 FROM overskrifter WHERE mainId = '".$_GET['mainId']."'")or die(mysql_error()); ...og se om du får en bedre fejlmeddelelse. Har du tilføjet noget til den tabel?
yep,.. jeg har egentlig også lavet 3 felter mainId, overskrift1 og overskrift2 så query skal vel egentlig hedde: $query1 = mysql_query("SELECT * FROM overskrifter WHERE mainId = '".$_GET['mainId']."'")or die(mysql_error());
Men jeg har manuelt tilføjet alle overskrifterne som de skal være, så den skulle jo gerne kunne finde noget i tabellen.
Den laver egentlig ikke nogen fejlmeddelser når jeg skriver hele stien: http://localhost/products.php?mainId=103 ind men nu laver den rod i alle fonte og overskriftstørrelser og skriver "103" øverst i venstre hjørne
Ja, det er der også en forklaring på. For det første, skal du enten have "SELECT overskrift1......" eller mysql_result($query1, 0, "overskrift1").
At det står oppe i venstre hjørne skyldes, at du sikkert normalt bruger tables. Derfor skal din echo mysql_result(....) flyttes derhen, hvor overskriften skal udskrives.
Og ja, hvis du ikke selv kan overskue at flytte det, så smid filen og jeg giver det et forsøg. Men prøv selv først, så lærer man jo nok mest :)
ahhh hehe det der med at smide echo hvor den skal bruges er måske en idé :P
øhm,.. men med den query, hvis jeg skal have flere dvs. begge overskrifter hentet ud kan man så ikke lige så godt bare skrive: $query1 = mysql_query("SELECT * FROM overskrifter WHERE mainId = '".$_GET['mainId']."'")or die(mysql_error());
jeg går ud fra at * betyder at den skal hente alt i den tabel ud fra mainId? og hvis jeg bruger overstående linie hvordan skal jeg så skrive: echo mysql_result($query1, 0);
Hvis du skal have 2 overskrifter, så vil jeg tro, at det ikke længere er mest optimalt at bruge mysql_result(). Den brugte jeg, da vi netop (troede jeg!) kun skulle have 1 felt fra 1 række.
Men, du kan bestemt godt bruge det du skrev til sidst med mysql_result($query1, 0, overskift1 og 2);
Dog vil jeg nu hellere bruge: $query1 = mysql_query("SELECT * FROM overskrifter WHERE mainId = '".$_GET['mainId']."'")or die(mysql_error()); $overskrift = mysql_fetch_array($query1);
...og der hvor du så vil have dine 2 overskrifter: <?php echo $overskrift['overskrift1']?> og <?php echo $overskrift['overskrift2']?>
Beklager hvis jeg har fået forvirret dig for meget :(
Nu laver den heldigvis ikke flere fejl,.. og her skulle jeg så lige til at sige at der ikke kom nogen overskrifter frem,.. men så var den bare lidt lang tid om at refreshe og så viddere =)
DET VIRKER! =)) smid lige et svar... tænk engang det gik nogenlunde hurtigt denne gang =D
jeg takker endnu engang,.. det bliver sikkert ikke sidste :P Jeg tror der kommer en go´ en her senere,.. de ting man kommer i indkøbskurven på min side, skal sendes til en mail adresse på en eller anden måde, men den tid den sorg...
Min far som jeg laver siden for, vil ikke betale for et betalings system i første omgang, så det kommer til at foregå via mail og den slags.
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.