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!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
16.08.2016, 23:40:22
|
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)
|
17.08.2016, 10:52:58
|
|
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!
|
17.08.2016, 13:15:10
|
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
|
17.08.2016, 16:24:38
|
|
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!
|
19.08.2016, 22:30:31
|
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.
|
20.08.2016, 07:53:26
|
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.
|
21.08.2016, 17:55:55
|
|
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!
|
23.08.2016, 22:37:44
|
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.
|
23.08.2016, 23:17:32
|
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.
|
24.08.2016, 12:30:56
|
|
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!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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 13:50:34 Uhr.
|