Einzelner Datensatz auslesen

aherzog

Erfahrenes Mitglied
Hallo Forum-Gemeinde.

Falls dieses Problem schon mehrmals besprochen wurde bitte ich um Link-Hilfe. Wusste nicht so recht nach was ich suchen sollte.

Also ich möchte die Daten aus einem einzigen Datensatz aus meiner Datenbank auslesen. Dabei wird der Datensatz per Datum ermittelt (ist in der Variable $datum gespeichert). Die Daten werden dann, an definierten Platzhaltern per PHP im HTML-Code eingefügt. (Die Daten werden nicht in einer Tabelle ausgegeben.)

Nun hab ich das was vorbereitet, und komme irgendwie nicht weiter.

Hier der Code:
PHP:
SELECT 'datum', 'ort' FROM 'ortinfos' WHERE 'datum' = $datum;	
										if (ini_get('magic_quotes_gpc')) 
										$_GET['datum'] = stripslashes($_GET['datum']); 
										$datum = mysql_escape_string($_GET['datum']);

Ich muss das Ergebniss der Select-Abfrage ja noch in einer Variable abspeichern.

Ist das so richtig:
z.B. $ergebnis=SELECT 'datum', 'ort','sch_runde','sch_fahrer' FROM 'ortinfos' WHERE 'datum' = $datum;

kann ich danach die Daten (sch_runde oder sch_fahrer) aus $ergebnis auslesen?

Andreas
 
Zuletzt bearbeitet:
Hi.

Dein Code hat mich jetzt ein bisschen vewirrt, aber ich hoff es stimmt so:

PHP:
$sql = "SELECT datum, ort FROM ortinfos WHERE datum";

$result = mysql_query($sql) or die(mysql_error());

while($row = mysql_fetch_assoc($result)){
echo($row['datum']." + ".$row['ort']);
}
 
Domsi vielen Dank.. hat funktiniert.


Nun noch eine Frage, für mein besseres Verständnis.

Du hast im Code doch eine while schleife erstellt. Was mich nun etwas iritiert, ist das ich im text ja nur mit dem echobefehl die daten augeben möchte.

Beispiel:

Ich habe eine tabelle.
dort sind 4 Felder.

Im ersten Feld kommt das datum (aus der DB)
im zweiten nur text
im dritten der ort (aus DB)
und im vierten feld, text und der name des Fahrers (als: bla bla bla NAME bla bla bla)

Kann ich nun den PHP code von Domsi schliessen (?>) und dann in der tabelle wieder öffnen und mit dem echo befehl ausgeben.
Oder muss die Tabelle in die while-Schleife)

Danke
 
Ja ganz einfach :
PHP:
$sql = "SELECT datum, ort FROM ortinfos WHERE datum";

$result = mysql_query($sql) or die(mysql_error());

$row = mysql_fetch_assoc($result)

echo '

TEXT TEXT TEXT '.$row['datum'].'
TEXT TEXT TEXT
TEXT '.$row['ort'].';

}

jetzt werden die daten aus der DB geholt und im array $row[''] gespeichert wobei immer die Daten aus dem array genommen werden also aus der Tabelle ORT bekommst du die daten mit $row['ort'],


Hoffe ich habe keinen Fehler gemacht ;-) also ich hab auch imma stress mit den Variablen in strings :-/
 
Zuletzt bearbeitet:
Es reicht mit echo ausgeben,

Ja also es kommt aber drauf an, wenn du mehr als einen Fahrer ausgeben willst, dann musst du die While-schleife verwenden und in der Klammer ausgeben:

PHP:
<?php
$sql = "SELECT datum, ort FROM ortinfos WHERE datum"; 

$result = mysql_query($sql) or die(mysql_error()); 

while($row = mysql_fetch_assoc($result)){ 
?> 

<table width="180" border="1" cellspacing="2" cellpadding="0">
<tr>
<td colspan="3">GP von <?php echo($row['ort']);?></td>
</tr>
<tr>
<td>Datum: </td>
<td><?php echo($row['datum']);?></td>
<td></td>
</tr>
<tr>
<td>Der Schnellste Fahrer ist: XXXXXX</td>
<td></td>
<td></td>
</tr>
</table>
<?php
}
?>

Das war jetzt wenn du alle Fahrer von diesem Grandprix anzeigen willst.


Willst du pro Seite nur einen Fahrer ausgeben musst du mit WHERE angeben welchen, und dann kannst du die While-schleife weglassen (Das aber jetzt nur, wenn nur ein Fahrer sein soll pro Seite)

Es sieht so aus als würdest du die grundlegendsten Dinge nicht können, schau dir zuerst zumindestens mal die Basics von PHP - MySQL Verbindungen an: http://tut.php-q.net/mysql.html

auf der Seite wirds eigentlich ganz gut erklährt, von dort hab ichs gelernt, naja eigentlich bin ich auch nicht damit fertig, aber wollte zuerst ma das üben was ich gelernt hab ;)


gruß, Domsi
 
Hallo,
eine Tabelle gibst du am besten mit einer while Schleife aus.
Ungefähr so:
PHP:
<table>
<?php
    $sql = 'SELECT datum, ort FROM ortinfos WHERE datum';
    $query = mysql_query($sql) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($query)){ 
        echo '<tr><td>'.$row['datum'].'&nbsp;'.$row['ort'].'</td></tr>';
    }
?>
</table>

mfg
forsterm
 
Also ich brauche nur einen Fahrer (ist der schnellste des GP)

es stimmt schon, das ich, was jetzt dieses Projekt betrifft, etwas auf dem Schlauch stehe.

die Ausgabe mehrer Fahrer mit der while-schleife ist mir schon klar, hab das auf einer anderen Seite gebraucht.
http://www.f1statistik.info/web_seiten/PHP-Seiten/fahrer-punkte.php

Aber bei diesem Projekt ist es halt etwas "komplexer".

Denke das ich nun bald am Ziel angekommen bin. Versuche jetzt mal die Vorschläge. Melde mich dann nochmal.

Danke
 
Versuche über versuche......

keine daten und keine Fehler...

PHP:
$sql = "SELECT datum, ort FROM ortinfos WHERE datum='$datum'"; 

									$result = mysql_query($sql) or die(mysql_error()); 
									while($row = mysql_fetch_assoc($result))
									{ 
										echo($row['datum']." + ".$row['ort']); 
									}
									?>
									<p>
									<table width="180" border="1" cellspacing="2" cellpadding="0"> 
									<tr> 
									<td colspan="3">GP von 
									<?php 
									echo $row['ort'];
									?></td> 
									</tr>
									</table>

hab beim echo befehl auch folgendes versucht: echo($row['datum']);
auch keine anzeige des ortes und ebenfalls auch keine Fehlermeldung

der erste echobefehl funktioniert und der zweite nicht.
 
Zuletzt bearbeitet:
Mensch :rolleyes: :D

ich sagte doch, wenn du nur EINEN Fahrer ausliest, dann brauchst du keine While-Schleife, While verwendest du nur wenns mehr als einer ist, sonst würde die PHP "array" ausgeben,

wenn du nämlich eine While-Schleife machst, dann gilt das $row[..] nur innerhalb von der While-Schleife,

2 Möglichkeiten gibts jetzt:

wie While-Schleife weglassen, oder die Schleife mit "}" erst nach dem zweiten echo zumachen.
 
Zurück