- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-04-2017, 14:04
MorphoisII
 Registrierter Benutzer
Links : Onlinestatus : MorphoisII ist offline
Registriert seit: Apr 2017
Beiträge: 3
MorphoisII befindet sich auf einem aufstrebenden Ast
Standard Select-Felder in Abhängigkeit aus mySQL befüllen und wieder in SQL eintragen?

Moin allerseits.

Ich habe folgende 2 Probleme:

Problem 1:
Ich habe ein Formular mit mehreren Select-Feldern.
Abhängig von der Auswahl im ersten Select-Feld soll die Auswahl im zweiten bzw. dritten Select-Feld zur Auswahl stehen.
Hatte es über ein Javascript gelöst, da aber die Datenmenge doch relativ groß wird/werden kann und zudem noch mit möglichst geringem Aufwand gewartet werden können soll, möchte ich für die Daten eine SQL-db nutzen.
Nun soll eben in Select-Feld 1 die Daten aus Tabelle 1 auswählbar sein.
Das funktioniert auch problemlos.
Allerdings sollen nun im Select-Feld 2 abhängig zur Auswahl in Feld 1 die Daten aus Tabelle 2 angezeigt werden und auswählbar sein.
Feld 1 ist wie unten zu sehen befüllt als Abteilung und dementsprechend sollen dann im zweiten Select-Feld nur die Mitglieder aus der ausgewählten Abteilung auswählbar sein

Hab mir schon verschiedene Tut´s für Ajax angeschaut, aber das sind bisher noch böhmische Dörfer für mich.


Problem 2:

Wie gesagt, die Auswahl in den Select-Feldern soll dann wieder in eine weitere Tabelle der db geschrieben werden.
Das funktioniert auch. Teilweise.

Hab 2 verschiedene Varianten ausprobiert.
Version 1:
Direkt im HTML-Code
HTML-Code:
.... <td>
	<?php
	mysql_connect("localhost:666", "root", "") or die (mysql_error ());
	mysql_select_db("test") or die(mysql_error());
	$strSQL = "SELECT * FROM abteilung ORDER BY abt_id ASC";
	$rs = mysql_query($strSQL);
	echo '<select name="abteilung">';
	while($row = mysql_fetch_array($rs)) {
	   if ($row['unterabteilung'])
	   {
		   $strName = $row['abteilung'] . " - " . $row['unterabteilung'];
	   }
	  else
	  {
		  $strName = $row['abteilung'];
	  }
	    echo '<option value=".$strName.">'. $strName . '</br>' . '</option>';
	  }
	  echo '</select>';
	mysql_close();
	?>
	</td>....
Version 2:
Per Aufruf einer PHP-Datei:
HTML-Code:
...<td>
	<?php
	include ("list2.php");
	?>
	</td>...
Und dann die PHP-Datei:
PHP-Code:
<?php
    mysql_connect
("localhost:666""root""") or die (mysql_error ());
    
mysql_select_db("test") or die(mysql_error());
    
$strSQL "SELECT * FROM abteilung ORDER BY abt_id ASC";
    
$rs mysql_query($strSQL);    
    echo 
'<select>';    
    while(
$row mysql_fetch_array($rs)) {
       if (
$row['unterabteilung'])
       {
           
$strName $row['abteilung'] . " - " $row['unterabteilung'];
       }
      else
      {
          
$strName $row['abteilung'];
      }
        echo 
'<option value=".$strName.">'$strName '</br>' '</option>';
      }
      echo 
'</select>';
    
mysql_close();
?>
Wie gesagt. Das Befüllen des Select-Feldes funktioniert problemlos. Beim Absenden/ Eintragen in die db steht dann
Code:
. $row[
im Datenbank-Feld.

Ich hoffe jemand kann mir (im besten Fall) nur eine fehlerhafte Sonderzeichennutzung aufzeigen.
Oder eben einen Lösungsansatz / eine Lösung für meine Probleme zeigen.

Ach. Als Hinweis noch. Es MUSS im IE11 funktionieren. (Und nur da)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-04-2017, 10:16
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 104
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

  1. Dein Script ist jetzt schon veraltet und wird unter PHP 7 nicht mehr laufen, da du die veralteten mysql_*-Funktionen benutzt. Stelle um auf mysqli_
  2. Ich sehe nirgendwo ein Insert
Zitat:
Zitat von MorphoisII Beitrag anzeigen
Hab mir schon verschiedene Tut´s für Ajax angeschaut, aber das sind bisher noch böhmische Dörfer für mich.
Dann musst du dich mehr damit beschäftigen, denn es wird dir niemand ein fertiges Script liefern.


16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Geändert von bandit600 (21-04-2017 um 10:19 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 21-04-2017, 10:49
MorphoisII
 Registrierter Benutzer
Links : Onlinestatus : MorphoisII ist offline
Registriert seit: Apr 2017
Beiträge: 3
MorphoisII befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von bandit600 Beitrag anzeigen
  1. Dein Script ist jetzt schon veraltet und wird unter PHP 7 nicht mehr laufen, da du die veralteten mysql_*-Funktionen benutzt. Stelle um auf mysqli_
  2. Ich sehe nirgendwo ein Insert

Dann musst du dich mehr damit beschäftigen, denn es wird dir niemand ein fertiges Script liefern.


16.14. Warum soll ich nicht SELECT * schreiben?
FAQ der Newsgroups de.comp.lang.php.* - 16.14.****Warum soll ich nicht SELECT * schreiben?
Zu 1.: PHP7. Danke für den Hinweis. Muss ich mir mal anschauen.
Zu 2.: Das INSERT passiert in der formular.php an die ich die Eingaben übergebe.

PHP-Code:
<?php
  mysql_connect
("localhost:666","root","")or die("Keine Verbindung moeglich");
  
mysql_select_db("test");

$datum $_POST['datum']; 
$abteilung $_POST['abteilung'];
...
$insert 'INSERT INTO liste 
(datum, abteilung, ...) 
VALUES 
("'
.$datum.'", "'.$abteilung.'",.....)';

$eintragen mysql_query($insert) or die("Fehler: ".mysql_error());
     echo 
'Der Eintrag war erfolgreich';

echo 
'<a href="test.php">Zurück</a>';
?>
Zu dem Hinweis bzgl des fertigen Scripts: Ich hatte gehofft, ich könnte vielleicht einen Ansatz bekommen, damit ich mich nicht komplett in die Materie einlesen muss, sondern "learning by doing".

Zu 16.14.: Das "SELECT *" verwende ich nur weil in der Tabelle eh nur 3 bzw 4 Spalten drin stehen. Ich könnte natürlich auch "SELECT vorname, nachname, abt_id FROM..." schreiben, aber in meinem Fall ist "SELECT *" kürzer und erfüllt den gleichen Zweck.
Bei umfangreicheren Tabellen würde ich das DEFINITIV nicht so schreiben.
Mit Zitat antworten
  #4 (permalink)  
Alt 21-04-2017, 11:05
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 104
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

Dein Script passt nicht zur Aussage, dass ". $row[" in der DB steht.

"Select *" ist immer kürzer, aber auch immer falsch.
Mit Zitat antworten
  #5 (permalink)  
Alt 21-04-2017, 12:22
MorphoisII
 Registrierter Benutzer
Links : Onlinestatus : MorphoisII ist offline
Registriert seit: Apr 2017
Beiträge: 3
MorphoisII befindet sich auf einem aufstrebenden Ast
Standard



So sieht es in der Datenbank aus. Das ist die Tabelle in die der Eintrag geschrieben wird.
Die erste Spalte sollte eigentlich das Mitglied sein das im Formular ausgewählt ist, Datum und Nummer passen aber die Abteilung passt wieder nicht.
Mit Zitat antworten
  #6 (permalink)  
Alt 21-04-2017, 12:51
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 104
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

Also, wenn in der DB .$strName. stehen würde, könnte ich das verstehen, weil das steht bei dir im Value der Selectbox, aber wo das $row[ herkommen soll, keine Ahnung.

Sieh' dir mal den generieten HTML-Code im Browser an.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst] Alias aus SELECT wieder in SELECT verwendet dumdumdum SQL / Datenbanken 6 21-09-2009 17:05
Auswahllisten dynamisch aus Datenbank füllen und in Abhängigkeit setzen jessies PHP Developer Forum 2 19-02-2008 17:02
2 DropDown Felder in abhängigkeit hieger HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 1 12-05-2007 13:01
DIV mit javascript befüllen und wieder leeren php_rookie HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 1 01-03-2007 16:52
CSS und select-felder Kropff HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 13-02-2003 09:50

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Multi-Branchen-Marktplatzsoftware 7.2.2 veröffentlicht
Multi-Branchen-Marktplatzsoftware 7.2.2 veröffentlichtDie Software ebiz-trader steht in der Version 7.2.2 zur Verfügung.

28.10.2016 | Berni

Zeit ist Geld, PC einfach selbst reparieren!
Zeit ist Geld, PC einfach selbst reparieren!Wenn der PC nicht richtig läuft, wirft sie das in Ihrem Arbeitsalltag meist zurück. Dabei können Sie einige Probleme mit relativ wenig Aufwand und ohne intime Kenntnisse Ihres Rechners selbst lösene

18.04.2016 | Berni


 

Aktuelle PHP Scripte

Upload 1.3

Mit dem PHP - Uploadscript kann man schnell und einfach Dateien auf den Webserver hochladen. Im Admin kann man Dateiformate wählen, neue Uploadordner erstellen / löschen, IP Sperre einstellen, Dateien löschen, Backup erstellen, PHP Info einsehen,

26.04.2017 arne-home | Kategorie: PHP/ File
Formmailer v1.5 Bootstrap

'Formmailer v1.5 Bootstrap' wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

26.04.2017 arne-home | Kategorie: PHP/ Mail
VS Bannermanager V3

Kinderleichte Administration und eine kundenfreundliche Verwaltung machen den Banner-Manager V3 zum Erlebnis. Bannerformate können in beliebigem Format hinzugefügt und gleichzeitig und unabhängig voneinander auf einer oder mehreren Seiten geschaltet werde

26.04.2017 virtualsystem | Kategorie: PHP/ Banner
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:18 Uhr.