Oprettet ons. d. 03. august 2005 kl. 15:10:30

challenge
challenge (9.345 point. Point ude: 60)

Mysql ID og text

Jeg lavede et spørgsmål, hér sidste dag om brugen af sider med url som f.eks. ?side=about. Jeg er så gået lidt videre og læst om MySQL til formålet.
Min idé er således: I min database har jeg oprettet en tabel:
CREATE TABLE sider (
  id int(6) NOT NULL auto_increment,
  tekst varchar(50) NOT NULL,
  PRIMARY KEY (id)
);

I den tabel skal jeg kunne skrive noget i feltet tekst, og derefter skal id'en så automatisk blive udfyldt. Til dette tror jeg at jeg har gjort det rigtigt.

I mit PHP script står der:

mysql_connect("localhost", "root", "") OR DIE("Kunne ikke etabler en forbindelse til databasen!");
mysql_select_db("mindb") OR DIE("Kunne ikke etabler en forbindelse til MySQL'en!");
$query = mysql_query("SELECT sider FROM mindb WHERE id = '$id'");
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$tekst = $r["tekst"];
}

if($_GET[id] == '$id') {
echo "$text";
; }

Idéen hér er så at jeg skal kunne skrive i adressefeltet f.eks. ?id=1 og så kommer teksten (Jeg skrev i databasen) så frem.

Det virker så desværre ikke.
Men da jeg så vidt muligt gerne vil lave det selv (lære det ordentligt), er der så nogen der evt. kan komme med nogle hints, eller rette mig hvis jeg er helt forkert på den?

mvh.

Stefan Helgason

Skrevet ons. d. 03. august 2005 kl. 15:12:09| #1

challenge
challenge (9.345 point)
Bare sig til hvis i behøver anden forklaring eller jeg snakker russisk :)

Fejlem på siden er forresten:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ....... on line 14

Skrevet ons. d. 03. august 2005 kl. 15:13:55| #2

jaw
jaw (56.008 point)
Prøv:

mysql_connect("localhost", "root", "") OR DIE("Kunne ikke etabler en forbindelse til databasen!");
mysql_select_db("mindb") OR DIE("Kunne ikke etabler en forbindelse til MySQL'en!");
$query = mysql_query("SELECT sider FROM mindb WHERE id = '".$_GET['id']."'");

while($r = mysql_fetch_array($query)) {
  echo $r['tekst'];
}

Skrevet ons. d. 03. august 2005 kl. 15:14:25| #3

jaw
jaw (56.008 point)
"mindb" i din $query skal være tabelnavnet, ikke databasenavnet...

Skrevet ons. d. 03. august 2005 kl. 15:30:30| #4

challenge
challenge (9.345 point)
Tusinde tak for det, det virkede :D

skriv et svar og få point :)

Skrevet ons. d. 03. august 2005 kl. 15:39:40| #5

jaw
jaw (56.008 point)
Det var så sandelig så lidt... :)

Skrevet ons. d. 03. august 2005 kl. 15:53:11| #6

barklund
barklund (102.377 point)
Hm, din sql syntaks er helt forkert - det hedder

SELECT tekst FROM sider WHERE id = 1

Altså:

$query = mysql_query(sprintf("SELECT tekst FROM sider WHERE id = %d", $_GET['id']));
if($r = mysql_fetch_array($query)) {
  echo $r["tekst"];
}

Vil jeg mene burde virke :)

--
Morten Barklund

Skrevet ons. d. 03. august 2005 kl. 16:02:39| #7

jaw
jaw (56.008 point)
Hvorfor er syntaksen forkert?

Skrevet ons. d. 03. august 2005 kl. 16:48:37| #8

barklund
barklund (102.377 point)
Fordi han valgte SELECT table FROM database - det giver ikke mening :)

(og jeg kommenterede altså på det oprindelige indlæg - og ikke dine kommentarer)

Skrevet ons. d. 03. august 2005 kl. 16:51:21| #9

jaw
jaw (56.008 point)
Nåå, så forstår jeg bedre :) Men tror nu han mente SELECT felt FROM database...

Skrevet ons. d. 03. august 2005 kl. 19:35:31| #10

challenge
challenge (9.345 point)
barklund -
Jamen det virker allerede... så det burde ikke være noget problem.

Men her kommer lille mig med endnu et spørgsmål:
Hvis der ikke er indtastet et id vil jeg gerne have en tekst frem, eller have includeret en fil. Hvoedan gør jeg det?
(undskyld :| )

Skrevet ons. d. 03. august 2005 kl. 19:59:52| #11

jaw
jaw (56.008 point)
if(!isset($_GET['id'])) {
  include("fil.php");
} else {
  -- resten af dit script --
}

Skrevet ons. d. 03. august 2005 kl. 20:57:28| #12

challenge
challenge (9.345 point)
Jeg takker mange gange :)
(Undskyld besværeligheden)

Skrevet ons. d. 03. august 2005 kl. 21:06:04| #13

jaw
jaw (56.008 point)
Ingen årsag :)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger