-
hallo,
ich hoffe Ihr könnt einem absoluten Anfänger helfen. habe schon das Forum durchsucht, aber keine Antwort gefunden.
Mein Problem:
Ich habe eine Tabelle in der Artikeldaten gespeichert sind.
Jeder Artikel hat eine eindeutige ID und einen Preis.
Jetzt möchte ich mittels PHP diese Preise auslesen und anzeigen.
Allerdings befinden sich in dieser Tabelle z.B. 100 Artikel, ich möchte aber nur 10 anzeigen.
Ich könnte natürlich 10 eindeutige Abfragen nach der ID machen, aber
ich hoffe, daß eine Abfrage reicht, in der ich alle Preise einlese
und nur den Preis ausgebe, der einer bestimmten ID gehört.
also in der Art:
$query = "SELECT Preis FROM Artikel
$result=@mysql_db_query("XXX,query,$verbindung);
while ($row=mysql_fetch_array($result))
{
printf($row["Preis"]);
}
in der printf-Anweisung möchte ich also sagen, daß nur der Preis des
Artikels mit der ID=5 angezeigt wird.
Hintergrund: An mehreren Stellen auf der Seite möchte ich die Preise
verschiedener Artikel anzeigen, allerdings stehen diese Artikel in der
Datenbank nicht in einer Reihenfolge.
Ich hoffe, ihr habt mein Problem verstanden und könnt mir helfenDanke
Seebär
-
14.05.02 15:40 #2die variable id kann auch in der url festgelegt werden also dateiname.php?id=5PHP-Code:
$id = 5;
// Verbindung herstellen
$host = "localhost";
$user = "test";
$pass = "test";
$db = "testdb";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
unset($host,$user,$pass,$db);
$query = "SELECT Preis FROM Artikel WHERE id='$id'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
{
echo "$row[Preis]";
}
HTH
mfg gouraud<Florian> Ihr seit alles so Real Life Ruler, oder?
<SirRobin> Lineale?
-
Danke für die schnelle Antwort,
aber leider löst das mein Problem nicht.
Ich möchte erst beim printf-Befehl sagen, von welcher ID er den
Preis anzeigen soll.
Da ich mehr als einen Preis aus der Tabelle angezeigt haben möchte,
müsste ich so jedesmal eine neue Abfrage machen.
Ich dachte also, ich lese erst einmal alle Preise aus der Tabelle
und sage erst beim printf welchen Preis er anzeigen soll.
Noch einmal kurz erklärt:
ich habe eine Tabelle mit 5 Artikeln, jedem ist eine ID und ein Preis
zugeordnet. Nun möchte ich an verschiedenen Stellen auf der Seite vier
dieser Preise angezeigt bekommen. Allerdings entspricht die Reihenfolge der Anzeige nicht der Reihenfolge in der DB. Nun kann ich
natürlich 4 mal SELECT Preis FROM Artikel WHERE ID=... machen.
Ich wollte aber einmal SELECT Preis FROM Artikel machen und über
printf den Preis von Artikel mit der ID=3 ausgeben. An einer anderen
Stelle möchte ich den Preis von Artikel mit der ID=2 ausgeben, usw.
Ich hoffe doch, daß dieses möglich ist.Danke
Seebär
-
14.05.02 18:50 #4ok, kann ich mit lebenDanke für die schnelle Antwort,
aber leider löst das mein Problem nicht.
Was ist denn überhaupt printf? warum nicht nur print? oder echo?Ich möchte erst beim printf-Befehl sagen, von welcher ID er den
Preis anzeigen soll.
gut... also auf jeden fall erst einmal die abfrageDa ich mehr als einen Preis aus der Tabelle angezeigt haben möchte,
müsste ich so jedesmal eine neue Abfrage machen.
Ich dachte also, ich lese erst einmal alle Preise aus der Tabelle
und sage erst beim printf welchen Preis er anzeigen soll.
FROM heißt, aus welcher Tabelle er das ausliest, nicht aus welcher Spalte.PHP-Code:$query1 = mysql_query("SELECT * FROM tabellenname ORDER BY id ASC WHERE id='1'";
$query2 = mysql_query("SELECT * FROM tabellenname ORDER BY id ASC WHERE id='2'");
$query3 = mysql_query("SELECT * FROM tabellenname ORDER BY id ASC WHERE id='3'");
// usw...
Damit liest du alle Spalten aus und er sortiert die nach der ID.
Nun könntest du mit drei while-schleifen das ausgeben, anders gehts nicht. Jedenfalls ist mir das nicht anders bekannt.
Um einen Artikel auszugeben könntest du als while-schleife (z.B. bei Artikel 2) folgendes schreiben:Noch einmal kurz erklärt:
ich habe eine Tabelle mit 5 Artikeln, jedem ist eine ID und ein Preis
zugeordnet. Nun möchte ich an verschiedenen Stellen auf der Seite vier
dieser Preise angezeigt bekommen. Allerdings entspricht die Reihenfolge der Anzeige nicht der Reihenfolge in der DB. Nun kann ich
natürlich 4 mal SELECT Preis FROM Artikel WHERE ID=... machen.
Ich wollte aber einmal SELECT Preis FROM Artikel machen und über
printf den Preis von Artikel mit der ID=3 ausgeben. An einer anderen
Stelle möchte ich den Preis von Artikel mit der ID=2 ausgeben, usw.
soderle.... erstmal einige unklarheiten geklärtPHP-Code:while($row = mysql_fetch_array($query2)) {
echo "Artikel: ".$row[Artikel]."<br>Preis: ".$row[Preis];
}
Geändert von Sebastian Wramba (14.05.02 um 18:55 Uhr)
<Florian> Ihr seit alles so Real Life Ruler, oder?
<SirRobin> Lineale?
-
14.05.02 20:25 #5
- Registriert seit
- Jan 2002
- Ort
- Betelgeuse
- Beiträge
- 709
PHP-Code:$query = "SELECT * FROM Artikel";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
{
$preise[$row[id]] = $row[preis];
}
echo $preise[5]; ## für id = 5 ## also $preis[id_die_angezeigt_werden_soll]
been there, done that, lived it, left it
-
Danke Brainstorm,
ist genau das, was ich meinte.
Klappt wunderbar.Danke
Seebär
-
Hi!
ich habe vor kurzem einen Online Shop von XT Commerce installiert.
Habe die Shop Version C v1.0 Beta2
Habe verschiedene Zahlungsmodule aktiviert und soweit funktioniert alles auch bestens.
Ein Problem gibt es: Beim Bezahlen mit Kreditkarte brauche ich auch die CVV Nummer. Diese Option gibt es ja im Modul CC. Beim Eintragen (wenn ich was bestelle) wir die Nummer auch ordnungsgemäß abgefragt und auch in der sql db gespeichert, das sehe ich über phpmyadmin.
Beim Aufrufen der Bestellung im Admin-Bereich (unter Rechnung) wird die CVV allerdings nicht mit ausgelesen.
Also habe ich in der Datei /admin/orders.php folgende Tabellenzeile eingefügt:
<td class="main"><?php echo ENTRY_CREDIT_CARD_CVV; ?></td>
<td class="main"><?php echo $order->info['cc_cvv']; ?></td>
Habe schon die Variable in der lang/german/admin/orders.php definiert wie folgt: define('ENTRY_CREDIT_CARD_CVV', 'CVV-Nummer:');
Das funktioniert auch, aber <?php echo $order->info['cc_cvv']; ?> funktioniert nicht. Er liest die CVV einfach nicht aus der SQL Datenbank aus. Was mache ich hier falsch? CVV steht im CC Modul auf "true".
Hoffe mir kann da jemand was schlaues zu sagen...
Gruß!
Malle
-
hallo liebe fori´s,
vlt kann mir auch jemand helfen, ich bin absoluter php / mysql - Neuling und bin nun absolut ratlos...
ich habe eine Seite, auf der man einmal daten in eine tabelle einfügen kann, was super funktioniert und dann direkt auch auf der seite angezeigt bekommt, auch gut, leider nur in der falschen Reihenfolge, da ich diese nach der Spalte "ID" sortiert haben möchte in absteigender Reihenfolge, nur jeder Befehl den ich versuche erzeugt eine Fehlermeldung
da allerdings die Tabelle jede nacht via cronjob geleert wird muss und bei phpmyadmin auch nach einer neueintragung von dieser php seite die Reihenfolge wieder durcheinander geworfen wird, bräuchte ich auf der php seite irgendwo eine andere Befehlsschleife, oder?
Hier der Abfragebefehl von meiner Seite :
Wenn ich das total zu kompliziert gemacht habe wäre ich für jede Besserung dankbarPHP-Code:<?php
$table = 'blackliste';
$fileds = array();
$query = 'SHOW
COLUMNS
FROM
`'.$table.'`
';
if( !$result = mysql_query($query) ) {
echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
exit;
}
echo '<table width="800" border="6" cellspacing="5" cellpadding="5"><thead><tr>';
while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
echo '<th>'.$row['Field'].'</th>';
$fields[] = $row['Field'];
}
echo '</tr></thead>';
$query = '
SELECT';
$field = current($fields);
do {
$query .= sprintf('%c `%s`', 10, $field);
if( $field = next($fields) ) {
$query .= ',';
}
} while( $field );
$query .= '
FROM
`'.$table.'`
';
if( !$result = mysql_query($query) ) {
echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
exit;
}
echo '<tbody>';
while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
echo '<tr>';
foreach( $row as $field ) {
echo '<td>'.htmlentities($field).'</td>';
}
echo '</tr>';
}
echo '</tbody></table>';
?>
Schonmal besten Dank im Voraus für Eure zahlreichen Antworten!Geändert von masteroc (09.03.10 um 15:31 Uhr)
-
Bitte, bitte den Code formatiert in [PHP]mein Code[/PHP] setzen. So wie er jetzt da steht ist er nicht wirklich lesbar.
Nachtrag:
Dein SQL sollte etwa so aussehen um den neusten Datensatz zu kriegen
Code sql:1 2 3 4 5 6 7 8
SELECT feld1, feld2 FROM tabelle ORDER BY id DESC LIMIT 1
Geändert von Yaslaw (09.03.10 um 14:39 Uhr)
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
ich habe meinen Threat nochmal formatiert, sorry, wußte ich nicht, bin wie gesagt Neuling, naja...
aber mit deinem sql kann ich so nichts anfangen, ich dachte irgendwo muss ich
eingeben...PHP-Code:$query="select * from $table oder by "ID" DESC ";
aber 1. weiß ich nicht wo denn immer zeigt er irgendwelche fehler an
-
nimm bei deiner ID mal die " weg....
PHP-Code:$query="select * from $table oder by ID DESC ";
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Kannst du mir vlt auch noch helfen wo ich das hinsetzen muss? da bin ich nun auch total überfordert ... ich dachte etwa Zeile 13 aber ist wohl falsch
bzw er zeigt keinen fehler an wenn ich das dorthin setze aber sortiert auch nicht nach ID absteigend, da steht die 98 trotzdem vor der 99
Geändert von masteroc (09.03.10 um 15:49 Uhr)
-
Nun, das ist sehr schematisch. Du hast da ein Script, welches auf höchst komplizierte Art ein SQL zusammenschreibt.
Irgendwo hast du die Zeilen
Dort musst du das ORDER BY ergänzen.PHP-Code:$query .= '
FROM
`'.$table.'`
';
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
-
Nö, wenn der Feldname kein Leerzeuchen oder anderes Sonderzeichen beinhaltet, kannst du dir das getrost sparen.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
Daten aus DB auslesen und anzeigen
Von sunflower84 im Forum PHPAntworten: 17Letzter Beitrag: 23.08.07, 13:28 -
Daten aus MySQL Tabelle anzeigen
Von SoadFan im Forum PHPAntworten: 10Letzter Beitrag: 19.11.06, 21:20 -
ASP.NET: Daten aus Oracle auslesen und anzeigen
Von Brovning im Forum .NET Web und KommunikationAntworten: 0Letzter Beitrag: 23.08.05, 14:04 -
MySQL-Daten auslesen und anzeigen
Von Sprigger im Forum VisualStudio & MFCAntworten: 5Letzter Beitrag: 13.10.04, 16:25 -
MySQL und Daten der Tabelle anzeigen
Von Tux die Infobox im Forum PHPAntworten: 3Letzter Beitrag: 04.06.01, 11:37



3Danke

Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren