[PHP & MySQL] Mysql Frage - neues Problem

SammyLG
Neues Problem unten
SammyLG
Okay, sagen wir mal Pferd 5 hat den Namen Ricko, dann wird dort die 5. ID gesucht und ausgegeben? Wenn ja, wie mache ich, das ich noch einen Steckbrief für jedes Pferd mit einbaue... Ansonsten danke fröhlich

Geht es, das ich jetzt pferde.php anlege, dort Verbindung zu den Steckbriefen aufbaue und als echo die Tabelle ausgebe, mit diesem Where pferd = '$_GET['id'] die richtige finde und in der Übersicht (Stall) wird mit pferde.php?id=5 verlinkt, wenn es pfed 5 ist?
Stelo
Zitat:
Original von SammyLG
Geht es, das ich jetzt pferde.php anlege, dort Verbindung zu den Steckbriefen aufbaue und als echo die Tabelle ausgebe, mit diesem Where pferd = '$_GET['id'] die richtige finde und in der Übersicht (Stall) wird mit pferde.php?id=5 verlinkt, wenn es pfed 5 ist?


Richtig.
Wie die Ausgabe aus einer Datenbank funktioniert, weiß du doch, oder? Ansonsten *klick* *klick mich hart*
Noch mal zum nachlesen! Augenzwinkern

Da müsste auch noch mal, dass mit dem WHERE drin stehen, denn es klang nicht so, als hättest du verstanden, wie man das damit ausließt, oder? O.o Also mal als Beispiel.
php:
1:
2:
$sql "SELECT name FROM pferde
WHERE ID = $id";
SammyLG
Okay, ich probiers mal.

So ganz versteh ich das nicht xD was fehlt/ist überflüssig/ist falsch:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<link rel="stylesheet" type="text/css" href="style.css">
 <?

include "zugriff.inc.php";


  $abfrage = "SELECT id, name, rasse, bild, besitzer, geschlecht FROM stecki";
  WHERE id = $id";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
    {
echo "<table class='table1' width='100' height='300'><tr><td><IMG
src='$row->bild'></td></tr><tr><td colspan=2>Name</td><td colspan=2>$row->name</td></tr>
<tr><td colspan=2>ID</td><td colspan=2>$row->id</td></tr></table>";
}
  ?>


Und die Fehlermeldung:
Parse error: syntax error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/horsefuture/pferd.php on line 8

Ich und die codes... ._.
Stelo
Hast du denn auf die Seite so verlinkt wie Mordred gesagt hat? also mit pferde.php?id=5

Denn du musst die Variable $id vorher definieren, bevor du damit eine WHERE abfrage machst.
D.h. du musst vorher noch schreiben.
$id = $_GET['id'];
SammyLG
Mein Code sieht jetzt so aus:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<link rel="stylesheet" type"text/css" href="style.css">
 <?

include "zugriff.inc.php";


  $abfrage = "SELECT id, name, rasse, bild, besitzer, geschlecht FROM stecki";
  WHERE id = $id;
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
    {
echo "<table class='table1' width='100' height='300'><tr><td><IMG
src='$row->bild'></td></tr><tr><td colspan=2>Name</td><td colspan=2>$row->name</td></tr>
<tr><td colspan=2>ID</td><td colspan=2>$row->id</td></tr></table>";
}
$id = $_GET['id'];
  ?>


Verlinkt hab ich richtig, er hat nur noch ein Problem mit dem WHERE...


Parse error: syntax error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/horsefuture/pferd.php on line 8

Nicht wundern, ich bin noch am lernen...
Stelo
Du musst die Varibale vor der WHERE Abfrage definieren, also:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
include "zugriff.inc.php";
$id $_GET['id'];

  $abfrage "SELECT id, name, rasse, bild, besitzer, geschlecht FROM stecki";
  WHERE id $id;
  $ergebnis mysql_query($abfrage);
  while($row mysql_fetch_object($ergebnis))
    {
echo "<table class='table1' width='100' height='300'><tr><td><IMG
src='$row->bild'></td></tr><tr><td colspan=2>Name</td><td colspan=2>$row->name</td></tr>
<tr><td colspan=2>ID</td><td colspan=2>$row->id</td></tr></table>";
}
SammyLG
Trotzdem noch immer Fehlermeldung, Parse error: syntax error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/horsefuture/pferd.php on line 8
Hab den Code von dir genommen...
Stelo
Ups ich bin blind O.o

Okay, also hast noch nen fehler drin, in der SQL Abfrage.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
include "zugriff.inc.php";
$id $_GET['id'];

  $abfrage "SELECT id, name, rasse, bild, besitzer, geschlecht FROM stecki WHERE id = $id"; 
  $ergebnis mysql_query($abfrage);
  while($row mysql_fetch_object($ergebnis))
    {
echo "<table class='table1' width='100' height='300'><tr><td><IMG
src='$row->bild'></td></tr><tr><td colspan=2>Name</td><td colspan=2>$row->name</td></tr>
<tr><td colspan=2>ID</td><td colspan=2>$row->id</td></tr></table>";
}
SammyLG
Es geht <3 Danke, wenns noch ein Problem gibt, meld ich mich bei dir fröhlich

*lol* Jetzt wirds zwar ausgegeben, aber mit dem Pferdeerstellen gibts ein Problem. Es wird nichts eingetragen... Hier newpferd.php

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
<link rel="stylesheet" type="text/css" href="style.css">
  <?php

  include "zugriff.inc.php";
  $id $_POST["id"];
  $geschlecht $_POST["geschlecht"];
  $name $_POST["name"];
  $bild $_POST["bild"];
  $alter $_POST["alter"];
  $besitzer $_POST["besitzer"];
  $grund $_POST["grund"];
  $dressur $_POST["dressur"];
  $springen $_POST["springen"];
  $viel $_POST["viel"];
  $show $_POST["show"];
  $boden $_POST["boden"];


  $eintrag "INSERT INTO stecki ('$id', '$name',
  '$geschlecht', '$rasse', '$bild', '$alter','$besitzer', '$grund', '$dressur', '$springen',
  '$viel', '$boden', '$show') VALUES ('$id', '$name',
  '$geschlecht', '$rasse', '$bild', '$alter','$besitzer', '$grund', '$dressur', '$springen',
  '$viel', '$boden', '$show')";
  $eintragen mysql_query($eintrag);


  ?><table class='table1' width='100%'>
<tr><td>Du hast dein Pferd erstellt, stelle es in den Stall! <a href="stall.htm">In den Stall stellen</a></td></tr></table>


Er trägt nichts ein, egal was ich mache =/
Stelo
So wie du den SQL Befehl schreibt, ist das falsch. *zum nachlesen*

Ich bin auch zu faul, den ganzen Code umzuschreiben.
Aber es müsste so aussehen:
php:
1:
2:
$sql "INSERT INTO stecki (id, name)
VALUES '$id', '$name'";


Also erst nur die Namen der Spalten nennen und dann ind er richtigen Reihenfolge vei VALUES das, was da rein soll! Augenzwinkern
SammyLG
Nein, er trägt nichts ein.
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
  <?php

  include "zugriff.inc.php";
  $id $_POST["id"];
  $geschlecht $_POST["geschlecht"];
  $name $_POST["name"];
  $bild $_POST["bild"];
  $alter $_POST["alter"];
  $besitzer $_POST["besitzer"];
  $grund $_POST["grund"];
  $dressur $_POST["dressur"];
  $springen $_POST["springen"];
  $viel $_POST["viel"];
  $show $_POST["show"];
  $boden $_POST["boden"];


  $eintrag "INSERT INTO stecki ('id', 'name',
  'geschlecht', 'rasse', 'bild', 'alter','besitzer', 'grund', 'dressur', 'springen',
  'viel', 'boden', 'show') VALUES '$id', '$name', '$geschlecht', '$rasse', '$bild',
  '$alter','$besitzer', '$grund', '$dressur', '$springen',
  '$viel', '$boden', '$show'";
  $eintragen mysql_query($eintrag);


  ?>


Beim anderem eintragen hatte es geklappt =(
Stelo
Dann versuchs mal so:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
<?php

  include "zugriff.inc.php";
  $id $_POST["id"];
  $geschlecht $_POST["geschlecht"];
  $name $_POST["name"];
  $bild $_POST["bild"];
  $alter $_POST["alter"];
  $besitzer $_POST["besitzer"];
  $grund $_POST["grund"];
  $dressur $_POST["dressur"];
  $springen $_POST["springen"];
  $viel $_POST["viel"];
  $show $_POST["show"];
  $boden $_POST["boden"];


  $eintrag "
INSERT INTO stecki 
(id, 
name,
geschlecht,
rasse,
bild, 
alter,
besitzer,
grund,
dressur, 
springen,
viel, 
boden, 
show) 
VALUES ('$id', '$name', '$geschlecht', '$rasse', '$bild',
  '$alter','$besitzer', '$grund', '$dressur', '$springen',
  '$viel', '$boden', '$show')";
  $eintragen mysql_query($eintrag);


  ?>
SammyLG
Nein - ich frage mich nur, warum es nicht geht?! Beim anderen Code ging es vom Anfang an. Ich wünsche mir eine Fehlermeldung xD
Stelo
Enthalten die Variablen wirklich etwas?
Lass mal eine als Test mit echo ausgeben, nur zum überprüfen.
SammyLG
Okay...

http://horsefuture.ho.funpic.de/pferdkreir.htm
da erstellt man das pferd, dann lass ich die ID, den Namen und das Geschlecht ausgeben. und dann kann man es in den stall stellen, allerdings funktioniert das auch nicht mehr
Stelo
Ähm .. ehrlich gesagt hab ich jetzt nicht viel verstanden.
Was genau funktioniert denn nicht (mit Code dazu bitte) ^^
SammyLG
Es wird nichts in die DB eingetragen. Eigentlich soll man sich ein Pferd erstellen, das wird in die DB eingetragen und man kann den Steckbrief unter pferd.php?id=3 abrufen können. aber das funktioniert nicht
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<?php

  include "zugriff.inc.php";
  $id $_POST["id"];
  $geschlecht $_POST["geschlecht"];
  $name $_POST["name"];
  $bild $_POST["bild"];
  $alter $_POST["alter"];
  $besitzer $_POST["besitzer"];
  $grund $_POST["grund"];
  $dressur $_POST["dressur"];
  $springen $_POST["springen"];
  $viel $_POST["viel"];
  $show $_POST["show"];
  $boden $_POST["boden"];

$eintrag "INSERT INTO stecki (id, name, geschlecht,
  rasse, bild, alter, besitzer, grund, dressur, springen, viel, boden, show) VALUES
('$id', '$name', '$geschlecht', '$rasse', '$bild',
  '$alter','$besitzer', '$grund', '$dressur', '$springen',
  '$viel', '$boden', '$show')";
$eintragen mysql_query($eintrag);

echo "$id $geschlecht $name";

  ?>
Stelo
schreib mal bitte anstatt:

php:
1:
echo "$id $geschlecht $name";


das:

php:
1:
2:
echo $name;
echo $geschlecht;


Und guck mal, ob da jetzt was ausgeben wird.
SammyLG
Es wird angezeigt, was ich eingebe Augenzwinkern