SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.08.2016, 23:40:22
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
selectbox befüllen

Hallo Gemeinde,

ich habe ein kleines Problem beim dynamischen befüllen meiner SelectBox mit nur bestimmten Bereichen aus der Datenbank.
Meine Datenbank dafür sieht wie folgt aus

Tabelle1
ID | IDbereich
1 | bereich1
2 | bereich2
3 | bereich3

Tabelle2
ID | IDbereich | Vergehen
1 | bereich1 | vergehen1
2 | bereich1 | vergehen2
3 | bereich2 | vergehen3
4 | bereich2 | vergehen4
5 | bereich3 | vergehen5
6 | bereich3 | vergehen6

meine test.php (ausschnitt)

PHP-Code:
<script type="text/javascript">
  $(document).ready(function() {
      $("#selectbox_1").change(function(){
        var id_hauptkategorie=$(this).children('option:selected').val();
        $("#selectbox_2").load("includes/selectboxen.php",{value: id_hauptkategorie});
      });
  });
</script>

<tr>
                    <td>Bereich:</td>
                    <td>
                        <select id="selectbox_1" name="strafen_1" style="width:200pt">
                            <?php
                            
while ($row mysql_fetch_assoc($tabelle1)) 
                                {
                                
?>
                               <option value="<?php echo $row['ID']; ?>"><?php echo $row['IDbereich']; ?></option> 
                             <?php
                             
}
                            
?>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>Vergehen:</td>
                    <td>
                        <select id="selectbox_2" name="strafen_2" style="width:200pt">
                            <?php 
                            
while ($row mysql_fetch_assoc($tabelle2))
                            {
                            
?>
                              <option value="<?php echo $row['ID']; ?>"></option>
                              <?
                              }
                              ?>
                        </select>
                    </td>
                </tr>
In der ersten SelectBox wähle ich mein Bereich aus --> funktioniert auch super soweit
Die 2. Box lass ich über java dynamisch füllen. Die selectbox.php sieht wie folgt aus.

PHP-Code:
<?php
if($_POST["value"]==1){
?>
    <option value="1">a</option>
    <option value="2">b</option>
    <option value="3">c</option>
<?php  
} elseif($_POST["value"]==2){
?>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
<?php
} else {
  
?>
    <option value="1">+</option>
    <option value="2">-</option>
    <option value="3">*</option>
<?php
}

?>
In sofern ich in der ersten SelectBox meine 3 Bereiche jeweils auswähle bekomm ich auch nur die jeweiligen 3 Kategorien ausgegeben. Mein Problem liegt eher darin, das ich hier statisch die 3 Optionen für die 2. Selectbox angebe. Wie kann ich es hier aber dynamisch aus der Datenbank angeben. Die Auswahl, dass ich die komplette Tabelle2 ausgebe bekomm ich auch hin. Würde hier aber gern nur aus Tabelle2 die jeweiligen Vergehen füllen lassen, wessen Bereich ich in der 1.Selectbox gewählt habe. Hatte auch Überlegt die beiden Tabellen mittels JOIN LEFT zusammen zufügen, nur bekomm ich dann immernoch nicht nur die Vergehen des ausgewählten Bereichs ausgegeben.
Steh da echt irgendwie aufm Schlauch.

(alle Angaben sind nur Synonyme oder Testwerte)
Mit Zitat antworten
  #2  
Alt 17.08.2016, 10:52:58
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: selectbox befüllen

Hallo und willkommen hier im Forum.

So wie Du zzt. mit if($_POST['value']...) arbeitest, so kannst Du auch die Dynamik in eine Datenbankabfrage bringen (SELECT * FROM table WHERE $_POST['value'] = irgendwas) und nur die gewünschten Einträge für die SELECT-Box selektieren.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 17.08.2016, 13:15:10
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
AW: selectbox befüllen

Hallo vt1816,

also ich habe meine selectbox.php wie folgt angepasst
PHP-Code:
$sql1 = "SELECT 
            tabelle1.*,
            tabelle2.IDbereich,
            tabelle2.vergehen
        FROM
            tabelle1
        LEFT JOIN
            tabelle2
        ON
            tabelle1.IDbereich = tabelle2.IDbereich
        WHERE $_POST["value"]=tabelle1.ID 
        ";
$sql = mysql_query($sql1) OR die(mysql_error());
 
?>

<?php
if($_POST["value"]==1){
?>
<?php
while ($row mysql_fetch_assoc($sql)) {
?>    
    <option value="1"><?php echo $row["vergehen"]; ?></option>
<?php ?>


<?php  
} elseif($_POST["value"]==2){
?>
<?php
while ($row mysql_fetch_assoc($sql)) {
?>
    <option value="1"><?php echo $row["vergehen"]; ?></option>
<?php ?>
<?php
} else {
  
?>
<?php
while ($row mysql_fetch_assoc($sql)) {
?>
    <option value="1"><?php echo $row["vergehen"]; ?></option>
<?php ?>
<?php
}

?>
leider bleibt meine 2. Selectbox leer. Ich gehe mal davon aus das $_POST im WHERE nicht korekt zugeordnet wird. Nur weis ich da auch kein Rat weiter
Mit Zitat antworten
  #4  
Alt 17.08.2016, 16:24:38
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: selectbox befüllen

In Tabelle 2 nicht IDBereich (Text) sondern nur ID_aus_Tabelle1 speichern.
Dann braucht nicht mit JOIN abgefragt werden.
PHP-Code:
$sql1 "SELECT *
         FROM tabelle2
         WHERE ID_aus_Tbl1 = " 
.$_POST["value"] .";"
Das ganze Gerödel mit if() kann weg. Nur noch der Aufbau der SelectBox und fertig.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 19.08.2016, 22:30:31
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
AW: selectbox befüllen

Hallo,

war beruflich und privat ein wenig eingespannt die letzten 1-2 Tage. Danke für deine Hilfe vt1816. Hat super geklappt und kann Zitat deins "das ganze Gerödel mit if()" ;) weglassen. Ich danke dir für den Tipp und deine Hilfestellung.
Nochmals danke.
Mit Zitat antworten
  #6  
Alt 20.08.2016, 07:53:26
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
AW: selectbox befüllen

Wobei vt1816 eine Frage hätte ich noch. Da ich in Tabelle2.IDbereich nun die ID aus Tabelle1 speichere, komm ich gerade mit meiner UPDATE-funktion in Schwierigkeiten. In dem Formular fürs UPDATE bekomm ich von der selectbox ja immer als NAME="" den Text übergeben vom IDbereich. Wie kann im SQL UPDATE dann aber die ID aus Tabelle1 übermitteln fürn IDbereich.
Mit Zitat antworten
  #7  
Alt 21.08.2016, 17:55:55
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: selectbox befüllen

Sehe hier kein UPDATE Statment!?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8  
Alt 23.08.2016, 22:37:44
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
AW: selectbox befüllen

PHP-Code:
$_POST['submit']
            
                                
$bereich $_POST['bereich'];
                                
$vergehen_kurz $_POST['vergehen_kurz'];
                                
$vergehen_lang $_POST['vergehen_lang'];
                                
$kosten $_POST['kosten'];
                                            
                
$abfrageA "UPDATE strafen SET
                                strafen.IDbereich = '"
.$bereich."',
                                strafen.vergehen_kurz = '"
.$vergehen_kurz."',
                                strafen.vergehen_lang = '"
.$vergehen_lang."',
                                strafen.kosten = '"
.$kosten."';

                            mysql_query($abfrageA); 
HTML-Code:
<select name="bereich">
      	<?php while ($row = mysql_fetch_assoc($bereich)) { ?>
      		<option><? echo $row["bereich"]; ?></option>
      	<? } ?>
      	</select>
<input type="text" name="vergehen_kurz" value="<? echo $datensatz["vergehen_kurz"]; ?>" >
<input type="text" name="vergehen_lang" value="<? echo $datensatz["vergehen_lang"]; ?>" >
<input type="text" name="kosten" value="<? echo $datensatz["kosten"]; ?>" >
<input name="submit" type="submit" id="submit" value="Aktualisieren">
Im groben und ganzen bastel ich mir grad ein Strafenkatalog für meine Vereinsmannschaft.
In der selectbox wird mir ja von der Tabelle 1 der IDbereich ausgegeben. Der dient mir einfach nur um meine 3 oder mehr Bereiche die ich habe, als Gruppe auszugeben als TEXTform wo ich dann die jeweiligen Strafen hinzufügen kann bzw ändern kann. Wenn ich jetzt eine Strafe ändere die in Tabelle 2 hinzugefügt/geändert wird, schreibt er mir ja nicht, wie du vorgeschlagen hast die ID aus Tabelle 1 rein sondern den Text(IDbereich). Somit wäre ja meine selectbox.php wieder hinfällig, da ich ja wieder keine ZAHL sondern TEXT habe.
Mit Zitat antworten
  #9  
Alt 23.08.2016, 23:17:32
schlappi schlappi ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 38
Beiträge: 8
AW: selectbox befüllen

Ok hab mein Fehler bzw Problem gefunden. Habe in der Selectbox in <option> kein value gesetzt. wenn ich da $row["ID"] nehme setzt er mir auch die ID als Zahl.

trotzdem danke für alles.
Mit Zitat antworten
  #10  
Alt 24.08.2016, 12:30:56
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: selectbox befüllen

Danke für die Rückmeldung und immer wieder gerne ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
aufgrund Auswahl einer Selectbox andere befüllen dih HTML, CSS und JavaScript Help! 0 26.11.2015 13:48:52
PHP Selectbox + Kopie brink PHP Grundlagen 3 18.11.2009 19:47:12
Vorauswahl selectbox tsunamitsunami PHP Grundlagen 1 10.11.2009 16:30:30
Selectbox aus MySQL die 2. Mr.Burns PHP für Fortgeschrittene und Experten 7 06.03.2003 13:01:26
Selectbox aus MySQL Mr.Burns PHP für Fortgeschrittene und Experten 2 05.03.2003 17:21:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:50:34 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt