php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.02.2005, 18:35  
Gast
 
Beiträge: n/a
Standard [Erledigt] MySQL & PHP: SELECT-Listen

Hi @ll,

ich moechte gerne Daten aus zwei unterschiedlichen Tabellenspalten (im konkreten Falle: "Country" und "Date_inauguration" aus derselben Tabelle in derselben SELECT-Auswahlliste darstellen. Wie kann ich das mit PHP realisieren?

So geht es jedenfalls nicht:
PHP-Code:
$selectHTML '<select name="' $_selectConfig['Country''Date_inauguration'] . '" size="' $_selectConfig['size'] . '">'
?>[/php]
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.02.2005, 18:50  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

da es sich scheinbar um ein html-problem handelt: poste bitte den erzeugten html-quellcode. poste am besten auch noch mehr infos. so kann man dein anliegen nicht nachvollziehen.
__________________
derHund ist offline   Mit Zitat antworten
Alt 23.02.2005, 10:31  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Vermutlich ist so etwas ähnliches gemeint:
PHP-Code:
<?php
$selectHTML 
'<select name="' $_selectConfig['Country'] . '$_selectConfig['Date_inauguration'] . '" size="' . $_selectConfig['size'] . '">'; 
?>
hat allerdings definitiv nichts mit MySQL zu tun.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 23.02.2005, 16:15  
Gast
 
Beiträge: n/a
Standard

@lazy dog: im Prinzip meine ich das. Aber dadurch funktioniert der ganze PHP-Code dummerweise nicht mehr. Warum auch immer!?!
  Mit Zitat antworten
Alt 23.02.2005, 16:22  
Gast
 
Beiträge: n/a
Standard

Kleiner Syntax fehler:
PHP-Code:
<?php
$selectHTML 
'<select name="' $_selectConfig['Country'] . $_selectConfig['Date_inauguration'] . '" size="' $_selectConfig['size'] . '">';
?>
  Mit Zitat antworten
Alt 23.02.2005, 16:29  
Gast
 
Beiträge: n/a
Standard

@ derHund: Also einmal ganz von vorne: Ich habe zwei MySQL-Tabellen.
Tabelle A enthaelt eine ID, die in ein Eingabeformular für Tabelle B uebertragen werden soll.
Damit derjenige, der die Daten in Tabelle B eingibt, die richtige ID aus Tabelle A auswaehlt, ohne mit den Zahlenwerten arbeiten zu muessen, werden ihm "Country" und "Date_inauguration" in derselben Select-Liste nebeneinander dargestellt. Denn mit diesen beiden Daten kann der Dateneingeber etwas anfangen und nur diese beiden Daten in Kombination ermoeglichen eine eindeutige Auswahl der ID.
Jetzt habe ich bloss das Problem, wie ich Country und Date_inauguration, die in Tabelle A in zwei unterschiedlichen Tabellenspalten erfasst wurden, gemeinsam in derselben Select-Liste anzeigen kann.

Der gesamte Code sieht folgendermassen aus:
PHP-Code:
<tr><td>Table Three ID: </td><td>
<?php

   
function buildSelect$_selectConfig$_data )
   {

        
$selectHTML '<select name="' $_selectConfig['Country''Date_inauguration'] . '" size="' $_selectConfig['size'] . '">';
        
$selectHTML .= "\n";

        for ( 
$i 0$i count($_data); $i++ )
        {
             
$selected = ( strcmp($_selectConfig['selected'], $_data[$i]->Country Date_inauguration) == ) ? 'selected' '';

             
$selectHTML .= '<option ' $selected ' value="' $_data[$i]->Table_three_ID '">' $_data[$i]->Country  "," .  Date_inauguration '</option>';
             
$selectHTML .= "\n";
        }

        
$selectHTML .= '</select>';

        return 
$selectHTML;
   }



  include 
"safe/pw.inc";
$db mysql_connect ($host,$benutzer,$kenn)
or exit (
"Keine Verbindung hergestellt!");
mysql_select_db ("moe",$db)
or exit (
"Datenbank nicht geöffnet");

  
$sql "SELECT
                  e.Table_three_ID,
                  c.Country,
                  e.Date_inauguration
             FROM
                  Executive_Composition_I e, Countries c
             WHERE e.Country_code = c.Country_code"
;

   
$res mysql_query$sql$db ) or die( mysql_error() );

   
$_data = array();

   while( 
$_data[] = mysql_fetch_object($res) );
   
array_pop($_data);

   
$_selectConfig = array( 'Country''Date_inauguration' => 'selectDemoListe',
                                         
'size' => 1,
                                         
'selected' => 'Albania''1991-02-22');

   echo 
buildSelect$_selectConfig$_data );

   
?>

</td></tr>
In der in meinem ersten Beitrag dargestellten Zeile tritt der Fehler beim Oeffnen der PHP-Datei im Browser auf. Die Fehlermeldung lautet: Parse error: parse error, unexpected ',', expecting ']' in /srv/www/htdocs/standard/fb2/zdemo/moedb/Executivestaff2_neu.php on line 38.
Daher bin ich mir relativ sicher, dass ich bloss Date_inauguration und Country in PHP anders darstellen muss, damit es funktioniert.
  Mit Zitat antworten
Alt 23.02.2005, 16:31  
Gast
 
Beiträge: n/a
Standard

@ joggeli:

In der Tat! Es lag an dem Syntaxfehler!

Allerdings schreibt er mir bei Date_inauguration noch kein Datum rein, sondern dummerweise "Date_inauguration...
  Mit Zitat antworten
Alt 23.02.2005, 16:36  
Gast
 
Beiträge: n/a
Standard

Wie ihr an dem MySQL-SELECT sicherlich seht, greife ich in Wirklichkeit auf 2 Tabellen zu. In Tabelle A steht nur ein Country-Code, waehrend der eigentliche Name des Landes in Tabelle C liegt. Kann die fehlende Datumsanzeige daran liegen, dass ich in dem SELECT-Statement auf mehr als eine Tabelle zugreife?!?
  Mit Zitat antworten
Alt 24.02.2005, 14:24  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Mit der Abfrage hat das gar nichts zu tun, sondern mit der komischen Art, wie du auf die Daten zuzugreifen versuchst. Ich mag jetzt nicht auf alle Details eingehen - die Select-Liste braucht z.B. nicht so einen komplizierten Namen - hier einfach mal ein Beispiel dass funktionieren sollte:
PHP-Code:
<?php

function buildSelect$_selectConfig$_data )
{
    
$selectHTML "<select name='Auswahlfeld' size="' . $_selectConfig['size'] . '">\n";
    for ( 
$i 0$i count($_data); $i++ )
    {
         
$selected = (!strcmp($_selectConfig['selected'], $_data[$i]->Country .
                                        
$_data[$i]->Date_inauguration)) ? 'selected' '';
        for ( 
$i 0$i count($_data); $i++ )
        {
             
$selectHTML .= '<option $selected value="' $_data[$i]->Table_three_ID '">' .
                                         
$_data[$i]->Country  "," $_data$i]->Date_inauguration '</option>\n';
        }
        
$selectHTML .= '</select>';
        return 
$selectHTML;
   }
}


include 
"safe/pw.inc";
$db mysql_connect ($host,$benutzer,$kenn)
              or exit (
"Keine Verbindung hergestellt!" mysql_error());
mysql_select_db ("moe",$db)
              or exit (
"Datenbank nicht geöffnet" mysql_error());
$sql "SELECT
        e.Table_three_ID,
        c.Country,
        e.Date_inauguration
    FROM
        Executive_Composition_I e, Countries c
    WHERE e.Country_code = c.Country_code"
;
$res mysql_query$sql) or die( mysql_error() );
$_data = array();
while( 
$_data[] = mysql_fetch_object($res) );
$_selectConfig = array( 'size' => 1,
                        
'selected' => 'Albania1991-02-22');
echo 
buildSelect$_selectConfig$_data );
?>
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 02.03.2005, 16:21  
Gast
 
Beiträge: n/a
Standard

@lazydog:
Vielen Dank fuer Deinen Vorschlag!
Bis auf ein paar kleine Schoenheitsfehler funktioniert es wirklich!
Das korrekte Skript lautet folgendermassen:
PHP-Code:
<?php

function buildSelect$_selectConfig$_data )
{
    
$selectHTML '<select name="Auswahlfeld" size="' $_selectConfig['size'] . '">';
    for ( 
$i 0$i count($_data); $i++ )
    {
         
$selected = (!strcmp($_selectConfig['selected'], $_data[$i]->Country .
                                       
$_data[$i]->Date_inauguration)) ? 'selected' '';
        for ( 
$i 0$i count($_data); $i++ )
        {
             
$selectHTML .= '<option $selected value="' $_data[$i]->Table_three_ID '">' .
                                        
$_data[$i]->Country  "," $_data[$i]->Date_inauguration '</option>\n';
        }
        
$selectHTML .= '</select>';
        return 
$selectHTML;
   }
}


include 
"safe/pw.inc";
$db mysql_connect ($host,$benutzer,$kenn)
              or exit (
"Keine Verbindung hergestellt!" mysql_error());
mysql_select_db ("moe",$db)
              or exit (
"Datenbank nicht geöffnet" mysql_error());
$sql "SELECT
      e.Table_three_ID,
      c.Country,
      e.Date_inauguration
   FROM
      Executive_Composition_I e, Countries c
   WHERE e.Country_code = c.Country_code"
;
$res mysql_query$sql) or die( mysql_error() );
$_data = array();
while( 
$_data[] = mysql_fetch_object($res) );
$_selectConfig = array( 'size' => 1,
                        
'selected' => 'Albania1991-02-22');
echo 
buildSelect$_selectConfig$_data );
?>
Viele Gruesse in die Schweiz! :wink:
  Mit Zitat antworten
Antwort


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
MySQL: Select: Alles ordnen aber 1 Eintrag zuerst anzeigen SvenLittkowski Datenbanken 12 29.10.2007 21:24
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers FireFIghter Datenbanken 3 02.02.2007 17:18
Unterabfragen mit MySQL amenhotheb Datenbanken 6 27.06.2006 00:11
MySQL Fehler nach Änderung einer PHP Datei mark007q Datenbanken 2 09.05.2006 23:56
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
Mysql SELECT Abfrage -- Problem mit LIMIT djrace Datenbanken 2 01.05.2006 12:58
2 Mysql Abfragen: select und insert gleichzeitig??? Datenbanken 12 14.09.2005 14:18
[Erledigt] MySQL Befehl für MySQL 4.0.24 Datenbanken 2 23.08.2005 17:35
Fehlerhafte MySQL Ausgabe mit SELECT c-bass Datenbanken 16 23.08.2005 14:49
MySQL 4.x - SELECT `feld` LIKE 'ä' - Fehlerhaft MrNiceGuy Datenbanken 2 25.03.2005 14:13
mysql SELECT problem yoshy Datenbanken 7 20.02.2005 00:46
[Erledigt] [gelöst] MySQL abfrage eingrenzen anhand einer SELECT Auswah Datenbanken 13 01.12.2004 18:42
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php select listen, $_selectconfig = array, mysql &amp;, select listen, mysql select against ampersand

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:29 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.