hasii: mysql ausgabe in zwei seperaten feldern (option select)

Hallo,

habe folgende Seite: link
Bei Auswahl einer Felge erscheint rechts davon das Gewicht.
Funktioniert über php/ajax/mysql.
Leider bekomme ich es nicht hin, dass gleichzeitig auch die Ausgabe vom Preis erfolgt.

PHP Code:

<?php  
$q = intval($_GET['q']);$con = mysqli_connect('localhost','csocc_laufradman','XXX','XXX');  
  
if (!$con)  
  {  
  die('Could not connect: ' . mysqli_error($con));  
  }  
  
mysqli_select_db($con,"");  
$sql="SELECT * FROM konfig WHERE id = '".$q."'";  
  
$result = mysqli_query($con,$sql);  
  
$rows = array();  
while($row = mysqli_fetch_array($result)){  
$rows[] = $row;  
};  
echo $rows [0]['gewicht'];  
echo $rows [1]['preis'];  
  
mysqli_close($con);  
  
?>

Datenbank:
...ist als Bild auf der Website angezeigt.

Auch gepostet unter: http://phpforum.de/forum/showthread.php?p=1562515#post1562515  !

  1. Tach!

    Leider bekomme ich es nicht hin, dass gleichzeitig auch die Ausgabe vom Preis erfolgt.
    PHP Code:

    Ist das der Code, der beim Ajax-Aufruf abgearbeitet wird?

    echo $rows [0]['gewicht'];
    echo $rows [1]['preis'];

    Wenn du einfach zwei Werte hintereinander schreibst, wirst du die auf der Clientseite nur schwer wieder trennen können. Ein eindeutiges Trennzeichen wäre das mindeste, was dazwischen stehen sollten. Und JSON zum Einpacken von Daten gibt es auch noch.

    dedlfix.

  2. Hi,

    habe folgende Seite: link
    Bei Auswahl einer Felge erscheint rechts davon das Gewicht.
    Funktioniert über php/ajax/mysql.
    Leider bekomme ich es nicht hin, dass gleichzeitig auch die Ausgabe vom Preis erfolgt.

    das ist kein Coding-Problem, sondern du scheiterst an der Logik.

    $sql="SELECT * FROM konfig WHERE id = '".$q."'";

    Wieviele Datensätze erwartest du als Resultat? Im Idealfall nur einen, oder?

    $rows = array();

    Dieser Schritt ist vollkommen überflüssig, schadet aber auch nicht.

    while($row = mysqli_fetch_array($result)){

    $rows[] = $row;
    };

      
    Wenn du tatsächlich, wie oben angenommen, nur einen Datensatz bekommst, ist $rows[] nun ein Array mit genau einem Element, nämlich $rows[0].  
      
    
    > ~~~php
    
    echo $rows [0]['gewicht'];  
    
    > echo $rows [1]['preis'];
    
    

    Mit einem sinnvoll eingestellten error_reporting sollte daher der Zugriff auf $rows[1] eine Notice ("Undefined index") auswerfen. Für den unerwarteten Fall, dass deine Ergebnismenge mehr als einen Datensatz enthält, gibst du aber hier das Gewicht aus dem ersten, den Preis aus dem zweiten gefundenen Datensatz aus.
    Erkennst du nun den Denkfehler?

    Ciao,
     Martin

    --
    Früher habe ich mich vor der Arbeit gedrückt. Heute könnte ich stundenlang zusehen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(