• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Combofeld mit Vorselektion

petz_e

New member
Weiss jmd wieso dieser Schnipsel Code nicht funktioniert? Es soll eine Combobox mit Inhalten aus einer SQL-Tabelle gefüllt werden. Der Eintrag SA soll dabei vorselektiert werden.

Code:
<?php
$db_link = mysql_connect('localhost', $host, $password) or die('Error: Could not connect to server.');
mysql_select_db('$db', $db_link) or die('Error: Could not select database.');
              
echo "<SELECT NAME='rs' SIZE='1'>";
echo "<OPTION>---</OPTION>";
$rs = mysql_query("SELECT * FROM raison_sociale;");
while ($row = mysql_fetch_array($rs)) {
   if ($row[0] != 'SA') {
      echo "<OPTION>$row[0]</OPTION>";
   } else {
      echo "<OPTION SELECTED>$row[0]</OPTION>";
   }
}
echo "</SELECT>";
?>
 
Was aber noch merkwürdiger ist, ist folgendes Problem-Beispiel:

Code:
<select name="rs2" size="1">
   <option>Item 1</option>
   <option>Item 2</option>
   <option selected>Item 3</option>
   <option>Item 4</option>
</select>

<select name="top5" size="1">
   <option>Heino</option>
   <option>Michael Jackson</option>
   <option selected>Tom Waits</option>
   <option>Nina Hagen</option>
   <option>Marianne Rosenberg</option>
</select>
Nur beim unteren Beispiel selektiert er richtig
 
Nee, also das klappt so überhaupt nicht. Hier ist das Script:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Nouvelle Societe</title>

  <link rel="stylesheet" type="text/css" href="styles.css">
  
  <script src="manageContacts.js"></script> 

</head>
<body>

<div class="a">
  
  <?php
  
  $db_link = mysql_connect('localhost', $user, $password) or die('Error: Could not connect to server.');
	mysql_select_db($db, $db_link) or die('Error: Could not select database.');
  ?>
  
   <h1>Création client - société</h1>
  <a href="dropTables.php">Drop Tables</a>
  
  <form action="smodifierSociete.php" method="post" name="form">
  
  <!-- INFORMATIONS GENERALES --> 
    <fieldset>
      <legend>Informations générales</legend>
      <ol>
        <div>
          <li>
            <label>Nom de la socièté:</label>
            <input type="text" class="text" name="nom" size="50" value=""/>
          </li>
          <li>
            <label>Raison sociale:</label>
            <select name="rs2" size="5">
              <option>---</option>
              <option selected>SA</option>
              <option>SARL</option>
              <option>SCI</option>
              <option>SI</option>
              <option>LTD</option>
            </select>
            <?php
              echo "<select name='rs3' size='5'>";
              echo "<option >1</option>";
              echo "<option >2</option>";
              echo "<option selected>3</option>";
              echo "<option >4</option>";
              echo "</select>";
            ?>
            <?php
              echo "<select name='rs4' size='5'>";
              $i = 1;
              $result = mysql_query("SELECT * FROM raison_sociale");
              while ($row = mysql_fetch_array($result)) {
                if ($i == 3) echo "<option selected>$i</option>";
                else echo "<option >$i</option>";
                $i++;
              }
              echo "</select>";
            ?>
            <?php
              echo "<select name='rs5' size='5'>";
              for ($i=0;$i<5;$i++) {
                if ($i == 3) echo "<option selected>test</option>";
                else echo "<option >$i</option>";
              }
              echo "</select>";
            ?>
          </li>
        </div>
      </ol>
    </fieldset>
  </form>
</div>

</body>
</html>

Auf dem Bild sieht man das Resultat. Die beiden letzten Listen sind jeweils falsch gesetzt.

Patrick
 

Anhänge

  • Untitled.jpg
    Untitled.jpg
    13,1 KB · Aufrufe: 9
"Klappt nicht" heißt dein Code ist valide aber trotzdem passiert das falsche?

Aber da dein PHP Code wohl in Ordnung ist, wäre es interessanter zu Wissen wie der Code der im Browser ankommt aussieht.
 
wäre es interessanter zu Wissen wie der Code der im Browser ankommt aussieht.
So sieht der Code im Browser aus. Sieht auch hier alles normal aus.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Nouvelle Societe</title>

  <link rel="stylesheet" type="text/css" href="styles.css">
  
  <script src="manageContacts.js"></script> 

</head>
<body>

<div class="a">
  
    
   <h1>Création client - société</h1>

  <a href="dropTables.php">Drop Tables</a>
  
  <form action="smodifierSociete.php" method="post" name="form">
  
  <!-- INFORMATIONS GENERALES --> 
    <fieldset>
      <legend>Informations générales</legend>
      <ol>
        <div>

          <li>
            <label>Nom de la socièté:</label>
            <input type="text" class="text" name="nom" size="50" value=""/>
          </li>
          <li>
            <label>Raison sociale:</label>
            <select name="rs2" size="5">

              <option>---</option>
              <option selected>SA</option>
              <option>SARL</option>
              <option>SCI</option>
              <option>SI</option>
              <option>LTD</option>

            </select>
            <select name='rs3' size='5'><option >1</option><option >2</option><option selected>3</option><option >4</option></select>            <select name='rs4' size='5'><option >1</option><option >2</option><option selected>3</option><option >4</option><option >5</option></select>            <select name='rs5' size='5'><option >0</option><option >1</option><option >2</option><option selected>test</option><option >4</option></select>          </li>

        </div>
      </ol>
    </fieldset>
    
  
  </form>


</div>

</body>
</html>

Ich benutze <ol> und <il> Tags als 'Container' zum Formatieren (das Bulleting wird mit CSS entfernt. An manchen Stellen setze ich aber noch ein DIV in ein solches <ol>. Muss nach einem <ol> immer ein <il> kommen? Wird der Code dadurch unvalide?

Patrick
 
Ich benutze <ol> und <il> Tags als 'Container' zum Formatieren (das Bulleting wird mit CSS entfernt. An manchen Stellen setze ich aber noch ein DIV in ein solches <ol>. Muss nach einem <ol> immer ein <il> kommen? Wird der Code dadurch unvalide?
Ich frag mich grad ob ich dir nicht einen hilfreichen Link gezeigt habe, mit dessen Hilfe du diese Frage ohne Probleme beantworten kannst.
 
HTML nicht aber eventuell der Browser, allerdings willst du die Seite ja im Quirksmode darstellen, da sind sie es nicht.

Aber dein Code wird bei mir, perfekt mit den vorselektierten Einträgen angezeigt, dein Problem läßt sich so nicht nachvollziehen.
 
Zurück
Oben