datenbank ausleser fehler :(

latinum_1982

Erfahrenes Mitglied
hallo ich bings einfach nicht zusammen auch die bucher was ichmir gekauft habe bringen mich nicht weiter :(

folgendes ich hab für meine kunde eine angebots seite gemacht aber gerade beim auslesen hab ich probleme

angebote.php (übersicht)
PHP:
<?php 
mysql_select_db("angebote");
$SQL_statement=sprintf("SELECT * FROM angebote");
$resultset=mysql_query($SQL_statement);
while($data=mysql_fetch_array($resultset)) {
?><a href="<?php echo 'angebotdetails.php?angebotsnummer=' .$data['angebotsnummer'] ?>"><img src="angebote/produkt.gif" alt="" width="257" height="118"></a><a href="<?php echo 'angebotdetails.php?angebotsnummer=' .$data['angebotsnummer'] ?>"></a>

<?php } ?>

und das sollte dann bei der angebotsdetais weiter daten anzeigen aber das machst ja leider nicht

angebotsdetais.php

PHP:
<?php 
mysql_select_db("angebote");
$SQL_statement=sprintf("SELECT * FROM angebote WHERE angebotsnummer = %d ", $_GET['angebotsnummer']);
$resultset=mysql_query($SQL_statement);
$data=mysql_fetch_array($resultset)
	?>

<?php echo $data['angebotsnummer'] ?>
<?php echo $data['produkt'] ?>
.
.
.
.
.
 und so weiter
 
Also wenn ich das richtig verstehe, dann soll mit der ersten Abfrage immer die Angebotsnummer ermittelt werden.

Dann sollen diese Nummern als Link dargestellt werden und wenn man einen Link anklickt werden die einzelnen Positionen (Artikelnummer, Beschreibung, Menge, Preis, ...) zu diesem Angebot angezeigt.

Dann wäre es doch aber so das es 2 unterschiedliche Tabellen für diese Daten geben muss. Du hast aber in beiden Abfragen den Tabellennamen "angebote" stehen.

Ist das so richtig?
 
hallo tombe

hmm ich hab nur eine tabelle mit angebote da drinnen habe ich id,abgebotsnummer,produkt,usw
bei der übersicht wird das ganze per foto angezeigt und verlinkt

und nein es kommt nicht wirklich eine fehler meldung der fehler is das mir der script immer nur denn ersten eintrag von der tabelle anzeigt
 
Ja was soll er denn sonst auch anzeigen. Du hast keine Schleife oder sonstiges was dein Skript veranlassen könnte mehr anzuzeigen!!
 
na wenn ich ihm eine schleife anzeigen lass zeit er mir dann alle angebote an aber ich will ja nur denn einen der mit der angebotsnummer übereinstimmt angezeigt haban :(
 
Halli Hallo,

bitte bau doch mal "or die mysql_error()" hinter alle mysql_query()-Aufrufe und vergewissere dich, dass dort keine Fehlermeldung angezeigt wird.
 
so hab ich gemacht aber der script zeigt mir kein fehler an der einzige fehler is das wenn ich eine schleife setze das er mir alle 7 angebote untereinander anzeigt und wenn ich keine schleife setzte das er mir nur denn ersten eintrag aus der db bzw denn ersten angebot anzeigt :(
 
Also zuerst würde ich erstmal, aus Testzwecken das "sprintf" hinter deiner sql variable rauslöschen. Das sähe dann so aus:
Code:
$sql = "Select * from tabelle";

Weiterhin würde ich immer die Spalten angeben auf die du zugreifen willst. Meiner Erfahrung nach ist ein "*" gefährlich.

Weiterhin sollte man meiner Meinung auch darauf zu achten das echo immer einheitlich mit den Anführungszeichen zu halten.

Beispielsweiße

Code:
Echo "<a href='test.html'>Testseite</a>";

Dann ist mir noch deine Where-Clause aufgefallen:
Code:
$SQL_statement=sprintf("SELECT * FROM angebote WHERE angebotsnummer = %d ", $_GET

Probiere es doch einfach mal so:
Code:
$SQL_statement="SELECT * FROM angebote WHERE angebotsnummer = '$_GET[angebotsnummer]'";
 
Zuletzt bearbeitet:
hallo sunny

danke für denn tipp

so wie du es gesagt hast hab ich es auch schon plobiert aber er zeit mit trotzdem alle angebote an...

bist denn keine andere variante wie ich das binkriegen kann oder das ich für jedes angebote eine eigene seite und eine tabelle anlege ..
 
Zurück