Avatar billede matz Nybegynder
05. januar 2007 - 20:12 Der er 25 kommentarer og
1 løsning

problemer med select

Nogen der kan se hvad der er galt her:

<?php
include('connect.php');
while($data = mysql_fetch_array(mysql_query("SELECT * FROM sider ORDER BY id DESC"))) {
echo'<a href="?s='". $data['sidenavn'] ."'">'". $data['sidenavn'] ."'</a>';
}
?>

Den melder denne fejl:

Parse error: parse error, unexpected '\"', expecting ',' or ';' on line 4
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:14 #1
<?php
include('connect.php');
while($data = mysql_fetch_array(mysql_query("SELECT * FROM sider ORDER BY id DESC"))) {
echo'<a href="?s='. $data['sidenavn'] .'">'. $data['sidenavn'] .'</a>';
}
?>
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:15 #2
Men for at det altid virker skal du nok:

echo'<a href="?s='. htmlentities($data['sidenavn']) .'">'. htmlentities($data['sidenavn']) .'</a>';
Avatar billede matz Nybegynder
05. januar 2007 - 20:18 #3
hvorfor skal der laves en htmlentities ?
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:33 #4
Fordi du ikke ved hvad det står i teksten, og kan komme til at lave ulovlig HTML, eller noget der ikke virker.
Avatar billede matz Nybegynder
05. januar 2007 - 20:40 #5
okay, hvis du kigger her på denne hjemmeside kan du se den bliver ved at med hente siden - ved du hvorfor den gør det?

www.playboi.dk/test/vis2.php
Avatar billede matz Nybegynder
05. januar 2007 - 20:40 #6
Sidens indhold er koden ovenfor
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:41 #7
Ja, den gør hvad du be'r den om. Hvor har du set et eksempel på at hente fra mysql i php, på den måde du anfører?
Avatar billede matz Nybegynder
05. januar 2007 - 20:42 #8
Den er herfra:

http://www.eksperten.dk/spm/753487

Har du en løsning på det?
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:46 #9
Jeg synes du skal finde et andet eksempel, end det zynzz kommer med. Ikke alle "eksperter" på eksperten.dk er "eksperter" ;)

Fx. til kilden, der helt sikkert ved hvad de snakker om:  http://php.net/mysql_fetch_array
Skriv af efter dem, og fortæl hvis det så ikke virker.
Avatar billede matz Nybegynder
05. januar 2007 - 20:51 #10
Så nu udksirver den intet:

<?php
include('connect.php');
$result = mysql_query("SELECT * FROM sider ORDER BY id DESC");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  echo'<a href="?s='. $row['sidenavn'] .'">'. $row['sidenavn'] .'</a>'; 
}

mysql_free_result($result);
?>
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 20:54 #11
Så eksemplet lige under med MYSQL_ASSOC  - du bruger navne, men du henter dem med numre.
Avatar billede matz Nybegynder
05. januar 2007 - 21:03 #12
Okay nu virker det... Hvad så hvis jeg vil bruge ID istedet for Sidenavn - skal man så bruge MYSQL_NUM ?
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 21:05 #13
Nej - det er hvis du vil tilgå felterne med numre:  $row[0]  i stedet for feltnavne.
Avatar billede matz Nybegynder
05. januar 2007 - 21:10 #14
Okay :)

Nu fanger den ID istedet for Sidenavn...Men den sidste ID kommer først...hvor den skulle være sidst, tjek her: http://www.playboi.dk/test/vis2.php

Min kode nu:

<?php
include('connect.php');
$result = mysql_query("SELECT * FROM sider ORDER BY id DESC");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  echo'<a href="?s='. $row['id'] .'">'. $row['sidenavn'] .'</a><br>'; 
}

mysql_free_result($result);
?>
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 21:21 #15
DESC betyder aftagende. ASC betyder voksende, og den skal du bruge hvis du skal have den mindste først.
Avatar billede matz Nybegynder
05. januar 2007 - 21:25 #16
Det virker...Tak for lektionen :)

Læg et svar
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 21:34 #17
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede matz Nybegynder
05. januar 2007 - 21:41 #18
Okay...Jeg har lige et spørgsmål til hvos du har mod på det.

Når jeg vil hente en side kommer den til at hedde vis2.php?s=1 hvordan får jeg hentet indholdet til den side når jeg klikker på linket?

Jeg har prøvet med den her kode, men det virker ikke rigtig:

<?php
include('connect.php');
$result = mysql_query("SELECT * FROM sider where id='".$_GET['id']."' LIMIT 1");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  echo $row[txt];
}

mysql_free_result($result);
?>

Også har jeg prøvet og ligge det i samme fil som vis2.php men jeg kan vidst ikke helt forstå det.
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 21:56 #19
Det ser da nogenlunde ud. Men prøv at kalde siden med koden som du viser her, for vis3.php, og skriv vis3.php i linket som du laver på vis2.php.  Det hedder ikke
  echo $row[txt]; 
men 
  echo $row['txt'];
Og så har du et felt med det navn, ik'?
Avatar billede matz Nybegynder
05. januar 2007 - 22:09 #20
Jo jeg har et felt med det navn...

Den udskriver intet på siderne, tjek her: http://www.playboi.dk/test/vis3.php?s=3
Avatar billede erikjacobsen Ekspert
05. januar 2007 - 22:13 #21
Kunne det tænkes at der var et problem lige her:  $_GET['id']
Avatar billede matz Nybegynder
05. januar 2007 - 22:23 #22
Jeps nu virker det, men kan man ikke få de der link til stadig at blive på siden? 

Der er en mase guldkorn med i dne her tråd for mig hehe.
Avatar billede erikjacobsen Ekspert
06. januar 2007 - 16:58 #23
Hvis du vil blive på samme side, kan du teste om der står en $_GET['s']:

  if (isset($_GET['s'])) {
      // her henter du det skal skrives du ud fra ...?s=noget
  }
  // her har du bare resten af siden
Avatar billede matz Nybegynder
03. august 2007 - 12:00 #24
Lig et svar
Avatar billede erikjacobsen Ekspert
03. august 2007 - 12:13 #25
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede matz Nybegynder
03. august 2007 - 12:27 #26
det gør jeg så bare :)
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging