tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
16
ZUGRIFFE
31922
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Seebär Seebär ist offline Mitglied
    Registriert seit
    May 2002
    Ort
    Wilhelmshaven
    Beiträge
    21
    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 helfen
     
    Danke
    Seebär

  2. #2
    Avatar von Sebastian Wramba
    Sebastian Wramba Sebastian Wramba ist offline Mitglied Smaragd
    Registriert seit
    Sep 2001
    Ort
    Essen (NRW)
    Beiträge
    1.218
    PHP-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]";
      } 
    die variable id kann auch in der url festgelegt werden also dateiname.php?id=5

    HTH
    mfg gouraud
     
    <Florian> Ihr seit alles so Real Life Ruler, oder?
    <SirRobin> Lineale?

  3. #3
    Seebär Seebär ist offline Mitglied
    Registriert seit
    May 2002
    Ort
    Wilhelmshaven
    Beiträge
    21
    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

  4. #4
    Avatar von Sebastian Wramba
    Sebastian Wramba Sebastian Wramba ist offline Mitglied Smaragd
    Registriert seit
    Sep 2001
    Ort
    Essen (NRW)
    Beiträge
    1.218
    Danke für die schnelle Antwort,
    aber leider löst das mein Problem nicht.
    ok, kann ich mit leben

    Ich möchte erst beim printf-Befehl sagen, von welcher ID er den
    Preis anzeigen soll.
    Was ist denn überhaupt printf? warum nicht nur print? oder echo?

    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.
    gut... also auf jeden fall erst einmal die abfrage
    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... 
    FROM heißt, aus welcher Tabelle er das ausliest, nicht aus welcher Spalte.
    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.

    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.
    Um einen Artikel auszugeben könntest du als while-schleife (z.B. bei Artikel 2) folgendes schreiben:

    PHP-Code:
    while($row mysql_fetch_array($query2)) {
    echo 
    "Artikel: ".$row[Artikel]."<br>Preis: ".$row[Preis];

    soderle.... erstmal einige unklarheiten geklärt
    Geändert von Sebastian Wramba (14.05.02 um 18:55 Uhr)
     
    <Florian> Ihr seit alles so Real Life Ruler, oder?
    <SirRobin> Lineale?

  5. #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

  6. #6
    Seebär Seebär ist offline Mitglied
    Registriert seit
    May 2002
    Ort
    Wilhelmshaven
    Beiträge
    21
    Danke Brainstorm,

    ist genau das, was ich meinte.
    Klappt wunderbar.
     
    Danke
    Seebär

  7. #7
    malle1974 malle1974 ist offline Grünschnabel
    Registriert seit
    Feb 2006
    Beiträge
    1
    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
     

  8. #8
    masteroc masteroc ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    9
    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 :
    PHP-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($resultMYSQL_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($resultMYSQL_ASSOC) ) {
            echo 
    '<tr>';
            foreach( 
    $row as $field ) {
                echo 
    '<td>'.htmlentities($field).'</td>';
            }
            echo 
    '</tr>';
        }
        echo 
    '</tbody></table>';
    ?>
    Wenn ich das total zu kompliziert gemacht habe wäre ich für jede Besserung dankbar

    Schonmal besten Dank im Voraus für Eure zahlreichen Antworten!
    Geändert von masteroc (09.03.10 um 15:31 Uhr)
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  10. #10
    masteroc masteroc ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    9
    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

    PHP-Code:
    $query="select * from $table oder by "ID" DESC "
    eingeben...

    aber 1. weiß ich nicht wo denn immer zeigt er irgendwelche fehler an
     

  11. #11
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    nimm bei deiner ID mal die " weg....
    PHP-Code:
    $query="select * from $table oder by ID DESC "
    masteroc bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  12. #12
    masteroc masteroc ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    9
    Zitat Zitat von yaslaw Beitrag anzeigen
    nimm bei deiner ID mal die " weg....
    PHP-Code:
    $query="select * from $table oder by ID DESC "
    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)
     

  13. #13
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Nun, das ist sehr schematisch. Du hast da ein Script, welches auf höchst komplizierte Art ein SQL zusammenschreibt.

    Irgendwo hast du die Zeilen
    PHP-Code:
        $query .= '
              FROM
                    `'
    .$table.'`
            '

    Dort musst du das ORDER BY ergänzen.
    masteroc bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  14. #14
    masteroc masteroc ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    9
    Zitat Zitat von yaslaw Beitrag anzeigen
    Nun, das ist sehr schematisch. Du hast da ein Script, welches auf höchst komplizierte Art ein SQL zusammenschreibt.

    Irgendwo hast du die Zeilen
    PHP-Code:
        $query .= '
              FROM
                    `'
    .$table.'`
            '

    Dort musst du das ORDER BY ergänzen.
    aber ich muss dann nicht mit ' ' oder `` arbeiten, einfach

    PHP-Code:
        $query .= '
              FROM
                    `'
    .$table.'` order by ID
            '

    oder wie? *lf*
     

  15. #15
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Nö, wenn der Feldname kein Leerzeuchen oder anderes Sonderzeichen beinhaltet, kannst du dir das getrost sparen.
    masteroc bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  1. Daten aus DB auslesen und anzeigen
    Von sunflower84 im Forum PHP
    Antworten: 17
    Letzter Beitrag: 23.08.07, 13:28
  2. Daten aus MySQL Tabelle anzeigen
    Von SoadFan im Forum PHP
    Antworten: 10
    Letzter Beitrag: 19.11.06, 21:20
  3. ASP.NET: Daten aus Oracle auslesen und anzeigen
    Von Brovning im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 23.08.05, 14:04
  4. MySQL-Daten auslesen und anzeigen
    Von Sprigger im Forum VisualStudio & MFC
    Antworten: 5
    Letzter Beitrag: 13.10.04, 16:25
  5. MySQL und Daten der Tabelle anzeigen
    Von Tux die Infobox im Forum PHP
    Antworten: 3
    Letzter Beitrag: 04.06.01, 11:37