CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
30.12.2012, 20:21:19
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 68
Beiträge: 51
|
|
Selectfeld aus DB - Auswahl nach versenden erhalten
Hallo,
ich möchte ein Selectfeld haben welches aus einer DB gefüllt wird (dies funktioniert bereits) und die letzte Auswahl nach dem Versenden des Formulars erhalten bleibt.
Wie könnte das gehen?
Gruß
PHP-Code:
<select name="SCHICHT" id="SCHICHT" <?php if(isset($errorFelder['SCHICHT'])) echo 'class="error"'; ?>>
<?php
mysql_connect( $mysqlhost, $mysqluser, $mysqlpwd);
mysql_select_db($mysqldb);
$sql = "SELECT * FROM dropdown_schicht ";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option>" . $row['schicht'] . "</option>";
}
?>
</select>
|
30.12.2012, 22:42:58
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
|
31.12.2012, 08:15:30
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 68
Beiträge: 51
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Hallo,
danke für die Hilfe! :-)
Nur möchte ich kein normales Selectfeld.
So wie beschrieben, wird dieses aus einer DB gefüllt, was ja bereits funktioniert.
Es soll auch nach dem Absenden die Auswahl behalten.
Ich habe da auch schon etwas probiert nur komme ich nicht weiter. Es wird nur 11x Array angezeigt.
Gruß
PHP-Code:
<select name="SCHICHT" id="SCHICHT">
<?php
$sql = 'SELECT * FROM dropdown_schicht';
$result = mysql_query($sql) OR die(mysql_error());
$anzahl = mysql_num_rows($result);
$row = array();
while ($row[] = mysql_fetch_assoc($result));
for($a = 0; $a < $anzahl; $a++){
echo " <option value=\"$row[$a]\"";
if ($_POST["SCHICHT"] == $row[$a]) {
echo " selected";
}
else {
if ($_POST["SCHICHT"] == "" && $a == 0) {
echo " selected";
}
}
echo ">$row[$a]</option>\n";
}
?>
</select>
|
31.12.2012, 10:31:45
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Zitat:
Zitat von inspiron
Ich habe da auch schon etwas probiert nur komme ich nicht weiter.
|
Das stimmt - ich blick auch nicht durch, was Du da anstellst.
Angenommen, die auszuwertende Spalte heißt `schicht`
PHP-Code:
<select name="SCHICHT" id="SCHICHT">
<?php
$db = new mysqli($DBHOST, $DBUSER, $DBPASS, $DBNAME);
if ($db->connect_error) {
die('Connect Error (' . $db->connect_errno . ') '
. $db->connect_error);
}
$sql = 'SELECT `schicht` FROM dropdown_schicht';
if (false === ($result = $db->query($sql) ))
die('SQL Error: ' . $db->error() );
while($obj = $result->fetch_object(){
$sel = '';
if (! empty($_POST['SCHICHT']) AND $_POST['SCHICHT'] == $obj->selected)
$sel = 'selected="selected"';
elseif ($obj->selected == 0)
$sel = 'selected';
printf('<option value="%1$d" %2$s>%1$d</option>' . "\n",
$obj->selected,
$sel);
}
$result->close();
?>
</select>
Verwende bitte zukünftig die mysqli Extension, weil die veraltete Extension mysql (ohne i) ab PHP 5.5.x als deprecated angemeckert wird.
https://github.com/php/php-src/blob/...5.0alpha2/NEWS
|
31.12.2012, 11:37:24
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 68
Beiträge: 51
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Hallo,
schönen Dank für die Hilfe.
Ich habe mal das Script getestet, bekomme eine Fehlermeldung:
Zitat:
Parse error: parse error in select_db_2.php on line 27
|
Zeile 27 ist:
PHP-Code:
while($obj = $result->fetch_object(){
PHP-Code:
<select name="SCHICHT" id="SCHICHT">
<?php
$db = new mysqli($mysqlhost, $mysqluser, $mysqlpwd, $mysqldb);
if ($db->connect_error) {
die('Connect Error (' . $db->connect_errno . ') '
. $db->connect_error);
}
$sql = 'SELECT `schicht` FROM dropdown_schicht';
if (false === ($result = $db->query($sql) ))
die('SQL Error: ' . $db->error() );
while($obj = $result->fetch_object(){
$sel = '';
if (! empty($_POST['SCHICHT']) AND $_POST['SCHICHT'] == $obj->selected)
$sel = 'selected="selected"';
elseif ($obj->selected == 0)
$sel = 'selected';
printf('<option value="%1$d" %2$s>%1$d</option>' . "\n",
$obj->selected,
$sel);
}
$result->close();
?>
</select>
|
31.12.2012, 12:18:17
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 68
Beiträge: 51
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Zitat:
Zitat von inspiron
Hallo,
schönen Dank für die Hilfe.
Ich habe mal das Script getestet, bekomme eine Fehlermeldung:
Zeile 27 ist:
PHP-Code:
while($obj = $result->fetch_object(){
|
ist die fehlende Klammer hier richtig?
PHP-Code:
while($obj = $result->fetch_object()){
|
31.12.2012, 12:24:38
|
Anfänger
|
|
Registriert seit: Nov 2009
Alter: 68
Beiträge: 51
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
...es wird nur Array ( [SCHICHT] => 0 ) angezeigt! :-(
|
31.12.2012, 12:36:25
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Zitat:
ist die fehlende Klammer hier richtig?
|
Gut erkannt.
wo soll da $obj->selected her kommen?
|
31.12.2012, 12:45:29
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Zitat:
Zitat von DokuLeseHemmung
Gut erkannt.
wo soll da $obj->selected her kommen?
|
Kotz! Klammer vajessen und falsche Objektvariable getippert:
PHP-Code:
... $obj->schicht ...
Dabei hab ich zu so früher Stunde noch nich ma' 'n Glas zum Reingucken... :-(
|
31.12.2012, 12:47:43
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Selectfeld aus DB - Auswahl nach versenden erhalten
Korrektur:
Angenommen, die auszuwertende Spalte heißt `schicht`
PHP-Code:
<select name="SCHICHT" id="SCHICHT"> <?php
$db = new mysqli($DBHOST, $DBUSER, $DBPASS, $DBNAME); if ($db->connect_error) { die('Connect Error (' . $db->connect_errno . ') ' . $db->connect_error); }
$sql = 'SELECT `schicht` FROM dropdown_schicht';
if (false === ($result = $db->query($sql) )) die('SQL Error: ' . $db->error() );
while($obj = $result->fetch_object() ){ $sel = ''; if (! empty($_POST['SCHICHT']) AND $_POST['SCHICHT'] == $obj->schicht) $sel = 'selected="selected"'; elseif ($obj->schicht == 0) $sel = 'selected'; printf('<option value="%1$d" %2$s>%1$d</option>' . "\n", $obj->selected, $sel); } $result->close(); ?> </select>
Peinsam...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:06:27 Uhr.
|