Aus Select eine Variabel füllen

PHPProgi

Mitglied
Hallo zusammen

ich möchte aus einem Form über die onChange Funktion eine Variabel $nummer füllen und danach diese einem DB Select übergeben.

Form:
PHP:
<select name="Name" size="1" class="forms" onchange="[Wertübergabe in die Var $nummmer]">
                <?php
			do
			{
			  echo '<option value="'.$row_comp['comp_no'].'">'.$row_comp['comp_no'].'</option>';
			}
			while( $row_comp = mssql_fetch_assoc($comp) );
			$rows = mssql_num_rows($comp);
			if( $rows > 0 )
			{
			  mssql_data_seek($comp, 0);
			  $row_comp = mssql_fetch_assoc($comp);
			}
			?>
              </select>

nun soll der Select nochmals ausgeführt werden, dieser wird natürlich bei starten der Seite mit einem leeren Wert ausgeführt, demzufolge ist auch die Tabelle leer:
PHP:
$docs           = mssql_query("SELECT * FROM docs where (status_index = '3' AND comp_no = '$nummer')");

Ich bitte um Hilfe.
Besten Dank
 
Das was Du gerne hättest, geht leider nicht so, wie du es gerne umgesetzt hättest. :)
Du musst einen default-Wert definieren, der beim erstmaligen laden der Seite verwendet wird, damit die Tabelle nicht leer ist. Und im onChange-Event lässt Du die Seite neuladen und der dort eingestellte Wert muss dann nur noch den default-Wert überschreiben und schon geht das...
 
Hi chainy

Besten Dank für die Antwort.

Den Default-Wert habe ich jetzt gesetzt:
PHP:
$nummer = 1;

Aber wie ich in der OnChange Funktion den Wert aus dem Value in meine Variabel schreibe und die Seite neu lade ist mir noch unklar.

Kannst du mir hier noch eine Hilfestellung geben?

Besten Dank
 
Hi,

dann musst Du onchange das Formular abschicken und im PHP-Script den Wert aus dem $_POST-Array auslesen.

HTML:
<select name="Name" size="1" class="forms" onchange="document.formularname.submit();">

PHP:
$docs = mssql_query("SELECT * FROM docs where (status_index = '3' AND comp_no = '" . intval($_POST['Name']) . "')");

LG
 
Das mit dem onChange würde ich persönlich anders machen:
HTML:
<select name="Name" size="1" class="forms" onchange="this.form.submit();">
... in PHP dann folgendes:
PHP:
$nummer = 1; // default
if( isset($_POST['Name']) )
{
  // default überschreiben
  $nummer = intval($_POST['Name']);
}
 
Zurück