php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.08.2005, 16:23  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard Mehere Werte aus Selectbox (multiple) in DB eintragen?

Hallo,

ich bin über ein Problem gestolpert, was ich ohne fremde Hilfe nicht allein bewerkstelligen kann. Da meine Kenntnisse SEHR begrenzt sind, seit bitte einfühlsam!

Ich habe ein gewöhnliches Selectfeld aus dem mehere Werte (Kundennummern von Mietern) in eine Tabelle in der Mysql Datenbank eingegeben werden sollen. Diese Werte sollen durch irgendein Zeichen getrennt werden, um sie später wieder leicht auszulesen (ob das standardmäßig der Fall ist weiß ich nicht, Frage an Euch).

Das ganze ist eine Objektdatenbank. Kunden können mehere Objekte zugeordnet werden. Dementsprechend möchte ich einem Objekt die Kundennummern zuordnen.

PHP-Code:
<? 
                
//Datenbankanbindung zu Tabelle "Kundennummer" mit Variabeln
                
$verbindung mysql_connect($conf_pass->db_host,$conf_pass->db_user,$conf_pass->db_pass); 
                
mysql_select_db($conf_pass->db_name,$verbindung); 
                
$befehl1="SELECT Kundennummer FROM fa_pass0_data";  

                
//Befehl1 ausführen
                
$objekte mysql_query($befehl1,$verbindung);

                
//Alle Kundennummern anzeigen
                
print "<select name=eingabe[Mieter] size=4 multiple>";
                while(
$eingabe mysql_fetch_array($objekte)) {
                                                                print 
"<option>$eingabe[Kundennummer]</option>";
                                                                }
                print 
"</select>"
                
                
                

?>
Nun wird nur der letzte Wert immer in die Datenbank eingetragen.


Ich habe mich belesen, komme aber da auch nicht so richtig weiter (http://de3.php.net/manual/de/faq.html.php Punkt 4)

Mittlerweile weiss ich das die Kundennummern immer überschrieben werden und ich es als Array übergeben muss.

PHP-Code:
<?php
print "<select name=eingabe[Mieter][] size=4 multiple>";
?>
Aber das funktioniert immer noch nicht.

Kann mir da nicht einer aus der Patsche helfen?
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.08.2005, 17:35  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
Diese Werte sollen durch irgendein Zeichen getrennt werden, um sie später wieder leicht auszulesen
normalisier mal die tabellen!
Zitat:
Nun wird nur der letzte Wert immer in die Datenbank eingetragen.
wo ist dein code dafür?
Zitat:
Aber das funktioniert immer noch nicht.
heißt was genau? laß dir doch mal nach dem absenden die übergebenen werte anzeigen, print_r() ist dazu geeignet.
kommt das an, was du vermutest?

setz dein error_reporting auf E_ALL.
__________________
derHund ist offline  
Alt 07.08.2005, 17:36  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

der test funzt bei mir, probier das mal aus:
PHP-Code:
<form name="form" method="post" action="index.php">
  <select name="eingabe_mieter[]" size="4" multiple>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select>
  <input type="submit" name="submit" value="LOS">
</form>
<?php
    
foreach( $_POST['eingabe_mieter'] as $v )
    {
        echo 
$v."
"
;
    }
?>
Sirke ist offline  
Alt 07.08.2005, 20:07  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

@Sirke:

okay, funzt bei mir auch. und wie bekomme ich die werte nun in die datenbank?

wenn ich das jetzt so mache,

PHP-Code:
            <? 
                
//Datenbankanbindung zu Tabelle "Kundennummer" mit Variabeln
                
$verbindung mysql_connect($conf_pass->db_host,$conf_pass->db_user,$conf_pass->db_pass); 
                
mysql_select_db($conf_pass->db_name,$verbindung); 
                
$befehl1="SELECT Kundennummer FROM fa_pass0_data";  

                
//Befehl1 ausführen
                
$objekte mysql_query($befehl1,$verbindung);

                
//Alle Kundennummern der vorhandenen Kunden auslesen/anzeigen und dann in Feld Mieter eintragen
                
print "<select name=Mieter[] size=4 multiple>";
                while(
$eingabe mysql_fetch_array($objekte)) {
                                                                print 
"<option>$eingabe[Kundennummer]</option>";
                                                                }
                print 
"</select>"

            
?>

erhalte ich den Eintrag "array" in der Datenbank
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline  
Alt 07.08.2005, 20:33  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

der code wo ich alles (auch die anderen felder) in die datenbank gebe ist:

PHP-Code:
<?php
//Datenbankanbindung zu Tabelle "Objekte" mit Variabeln unter FAPass

$verbindung mysql_connect($conf_pass->db_host,$conf_pass->db_user,$conf_pass->db_pass);  
mysql_select_db($conf_pass->db_name,$verbindung) or die(mysql_error()); 

//Wenn Benutzer auf admin.newobjekt.php den Submitbutton geklickt hat und die Daten mittels Post (Formular) korrekt übergeben wurden, trage die Werte in Datenbank ein
if (isset($_POST['Submit'])) { 
                              
mysql_query("INSERT INTO Objekte (ObjektnummerO,Strasse,Postleitzahl,Ort,Eigentuemer,Mieter) VALUES ('$ObjektnummerO','$Strasse','$Postleitzahl','$Ort','$Eigentuemer','$Mieter')") or die(mysql_error());
                             }
                             
// Zeige außerdem eine Bestätigung für den Benutzer an

?>
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline  
Alt 10.08.2005, 13:57  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

ja das ist klar, das ist auch n array und der echo zum array lautet array =)
es gäbe die möglichkeit den array über die funktion serialize() in n string zu verwandeln, dannn kann man das als text abspeichern und beim auslesen mit unserialize() wieder rückgängig machen !

das wäre jetzt die einzige möglichkeit die ich sehe, aba das muss ja mit deiner datenbankstruktur abgestimmt werden !
Sirke ist offline  
Alt 10.08.2005, 14:17  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

ich hab dank vielen helfern das problem bereits anders lösen können. trotzdem vielen dank für deine mühe. vielleicht interessierts dich ja -->

http://www.phpfriend.de/ftopic44669.html
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Selectbox multiple Update????? c-bass PHP Tipps 2005-2 0 09.08.2005 14:42
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
werte vieler selectboxen, wie bekomme ich alle werte aus einem \select multiple\-html-tag?, select multiple php eintragen, werte select multiple in datenbank, php putting selectbox multiple into database, selectbox komplett auslesen, selectbox multiple datenbank, <option> from db

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.