Werte aus MYSQL an Textbox übergeben

posv

Mitglied
Hallo,

ich habe mal wieder ein Problem.

Und zwar hole ich mir Daten(Artikel) aus meiner DB in eine SelectBox.
Wenn ich da dann einen Wert aus wähle, möchte ich das alle Daten zu dem Artikel in verschiedene Textfelder ausgegeben werden.

Ich weiß jedoch nicht wie ich das anstelle.

Die Daten in die SelectBox holen, funktioniert, wie übergebe ich die Daten jedoch in die Textfelder?


Selectbox:
PHP:
<?php
$linkcat = "SELECT * FROM Garage ORDER BY Artikel";
$catget = mysql_query($linkcat) or die(mysql_error());
$row_catget = mysql_fetch_assoc($catget);
$totalRows_catget = mysql_num_rows($catget);
?>

          <select name="catlink" class="content">
            <option selected>bitte wählen</option>
            <?php
do {
?>
            <option value="<?php echo $row_catget['Artikel']?>"><?php echo $row_catget['Artikel']?></option>
            <?php
} while ($row_catget = mysql_fetch_assoc($catget));
  $rows = mysql_num_rows($catget);
  if($rows > 0) {
      mysql_data_seek($catget, 0);
      $row_catget = mysql_fetch_assoc($catget);
  }
?>
          </select>
          <?php
mysql_free_result($catget);
?>

Textfelder:

PHP:
 <fieldset>
                <ul class="pageitem">
                        <li class="bigfield"><input placeholder="MEP" type="text" /></li>
                        <li class="bigfield"><input placeholder="Artikel" type="text" /></li>
                        <li class="bigfield"><input placeholder="Länge" type="text" /></li>
                        <li class="bigfield"><input placeholder="Breite" type="text" /></li>
                        <li class="bigfield"><input placeholder="Höhe" type="text" /></li>
                        <li class="bigfield"><input placeholder="Stärke" type="text" /></li>
                        <li class="bigfield"><input placeholder="InnenDurchmesser" type="text" /></li>
                        <li class="bigfield"><input placeholder="AußenDurchmesser" type="text" /></li>
                        <li class="bigfield"><input placeholder="Werkzeug" type="text" /></li>
                        <li class="bigfield"><input placeholder="Kommentar" type="text" /></li>
                        <li class="bigfield"><input placeholder="Einkaufspreis" type="text" /></li>
                        <li class="bigfield"><input placeholder="Warenwert" type="text" /></li>

                        </ul>
                        </fieldset>

könnt ihr mir bitte wieder einmal helfen?

mfg
Sebastian
 
Naja, du könntes erst eine Abfrage machen und im Where-Klausel die Bedingung durch die Wahl der Select-Box definieren. Diese packst du in eine Array (mysql_fetch_array()) und in den einzelne Textfeldern frgst du dann das Array ab

Bsp.:
PHP:
$query=mysql_query("SELECT * FROM TABLE WHERE Wert='Auswahl aus Dropbox'");
$auswahl = mysql_fetch_array($query);

<li class="bigfield"><input placeholder="Kommentar" type="text" value="'.$auswahl['Kommentar'].'"/></li>

in die [' '] kommen die Spaltennamen der Tabelle
 

Hey, super. nur wie lese ich denn den wert aus der dropbox aus?

PHP:
$query=mysql_query("SELECT * FROM TABLE WHERE Wert='Auswahl aus Dropbox'");

habs mit $catget aus der vorhandenen dropbox probiert, nur dann bringt er mir nen fehler bei:

PHP:
<li class="bigfield"><input placeholder="Kommentar" type="text" value="'.$auswahl['Kommentar'].'"/></li>

Parse error: syntax error, unexpected '<'


Achso, falls das falsch verstanden wurde, ich lese nur den Artikel in die dropbox ein, nicht alle spalten.

mfg
Sebastian
 
ich sehe gerade das du $row_catget = mysql_fetch_assoc($catget); zweimal drinnen hast. Da brauchst du nur einen. Aufgrund der Dropbox die mit der whileschleife

PHP:
$linkcat = "SELECT * FROM Garage ORDER BY Artikel"; 
$catget = mysql_query($linkcat) or die(mysql_error()); 
$totalRows_catget = mysql_num_rows($catget); 

<select name="catlink">
    <option selected>bitte wählen</option>
    <?php
       // liest alle Artikel der DB aus
        while(mysql_fetch_array($catget)){
             <option>$row_catget['Artikel']</option>
        }
       ?>
</select>
Wenn du dann das Formular absendest:
PHP:
$query=mysql_query("SELECT * FROM Garage WHERE Artikel='".$_POST['catlink']."'");
$auswahl = mysql_fetch_array($query);
 
Also quasi so?:

PHP:
<?php
$linkcat = "SELECT * FROM Garage ORDER BY Artikel";
$catget = mysql_query($linkcat) or die(mysql_error());
$totalRows_catget = mysql_num_rows($catget);
?>
<select name="catlink">
    <option selected>bitte wählen</option>
    <?php
       // liest alle Artikel der DB aus
        while(mysql_fetch_array($catget)){
             <option>$row_catget['Artikel']</option>
        }
       ?>
</select>
          <?php
mysql_free_result($catget);
?>
             <?php
             $query=mysql_query("SELECT * FROM Garage WHERE Artikel='".$_POST['linkcat']."'");
$auswahl = mysql_fetch_array($query);

 <fieldset>;
 <ul class="pageitem">;
                        <li class="bigfield"><input placeholder="ID" type="text" value="'.$auswahl['ID'].'"/></li>;
                        <li class="bigfield"><input placeholder="MEP" type="text" value="'.$auswahl['MEP'].'"/></li>;
                         <li class="bigfield"><input placeholder="Artikel" type="text" value="'.$auswahl['Artikel'].'"/></li>;
                         <li class="bigfield"><input placeholder="Länge" type="text" value="'.$auswahl['Länge'].'"/></li>;
                         <li class="bigfield"><input placeholder="Breite" type="text" value="'.$auswahl['Breite'].'"/></li>;
                         <li class="bigfield"><input placeholder="Höhe" type="text" value="'.$auswahl['Höhe'].'"/></li>;
                         <li class="bigfield"><input placeholder="Stärke" type="text" value="'.$auswahl['Stärke'].'"/></li>;
                         <li class="bigfield"><input placeholder="InnenDurchmesser" type="text" value="'.$auswahl['InnenDurchmesser'].'"/></li>;
                         <li class="bigfield"><input placeholder="AußenDurchmesser" type="text" value="'.$auswahl['AußenDurchmesser'].'"/></li>;
                         <li class="bigfield"><input placeholder="Werkzeug" type="text" value="'.$auswahl['Werkzeug'].'"/></li>;
                         <li class="bigfield"><input placeholder="Kommentar" type="text" value="'.$auswahl['Kommentar'].'"/></li>;
                         <li class="bigfield"><input placeholder="Einkaufspreis" type="text" value="'.$auswahl['Einkaufspreis'].'"/></li>;
                         <li class="bigfield"><input placeholder="Warenwert" type="text" value="'.$auswahl['Warenwert'].'"/></li>;




                        <li class="bigfield"><input placeholder="ID" type="text" /></li>
                        <li class="bigfield"><input placeholder="MEP" type="text" /></li>
                        <li class="bigfield"><input placeholder="Artikel" type="text" /></li>
                        <li class="bigfield"><input placeholder="Länge" type="text" /></li>
                        <li class="bigfield"><input placeholder="Breite" type="text" /></li>
                        <li class="bigfield"><input placeholder="Höhe" type="text" /></li>
                        <li class="bigfield"><input placeholder="Stärke" type="text" /></li>
                        <li class="bigfield"><input placeholder="InnenDurchmesser" type="text" /></li>
                        <li class="bigfield"><input placeholder="AußenDurchmesser" type="text" /></li>
                        <li class="bigfield"><input placeholder="Werkzeug" type="text" /></li>
                        <li class="bigfield"><input placeholder="Kommentar" type="text" /></li>
                        <li class="bigfield"><input placeholder="Einkaufspreis" type="text" /></li>
                        <li class="bigfield"><input placeholder="Warenwert" type="text" /></li>

                        </ul>
                        </fieldset>
?>


dann bringt er mir aber bei:


PHP:
<option>$row_catget['Artikel']</option>


Parse error: syntax error, unexpected '<'

mfg
Sebastian
 
PHP:
<?php 
$linkcat = "SELECT * FROM Garage ORDER BY Artikel"; 
$catget = mysql_query($linkcat) or die(mysql_error()); 
$totalRows_catget = mysql_num_rows($catget); 
?> 
<select name="catlink"> 
    <option selected>bitte wählen</option> 
    <?php
       // liest alle Artikel der DB aus 
        while(mysql_fetch_array($catget)){ 
            echo '<option>'.$row_catget['Artikel'].'</option>'; 
        } 
       ?> 
</select> 
          <?php 
mysql_free_result($catget); 
?>

und entweder gehst du bei den imputfelder in html über und machst nur das Value als php oder wenn du alles im php hast, wie jetzt, dann musst du noch eine echo setzen
 
mein Fehler :)

PHP:
    <?php
       // liest alle Artikel der DB aus 
        while(row_catget = mysql_fetch_array($catget)){ 
            echo '<option>'.$row_catget['Artikel'].'</option>'; 
        } 
       ?>

noch was anderes. Da du deine imputfelder in einem echo hast, kannst du die ganzen Semikolons weglassen (Außer das nach dem echo)

PHP:
echo '   //hier öffnest du das echo
     <input type="text" .... value="'.$auswahl['ID'].'" />
     <input type="text" .... value="'.$auswahl['AußenDurchmesser'].'" />
     // und hier noch die anderen Werte

';  //und hier wird es geschlossen
 
Danke,

aber jetzt bringt er mir bei:

PHP:
while(row_catget = mysql_fetch_array($catget))

Parse error: syntax error, unexpected '='
 
Zurück