tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
22
ZUGRIFFE
841
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    bitte schlagt mich nich gleich für meine Frage, aber ich bin Anfänger

    ich habe eine Datenbank "X" (Tabelle: Preise) mit z.B. 4 Spalten mit folgenden Inhalten:

    Spalte / Inhalt

    preis_id / geraet_id / preis1 / preis2
    1 / gerät1 / 5.00 / 3.00
    2 / gerät2 / 7.00 / 5.00
    3 / gerät3 / 9.00 / 3.00

    Jetzt möchte ein Select-Feld erstellen bei welchem es den Inhalt der
    Spalte geraet_id anzeigt (also gerät1, gerät2, ..usw.)

    --- mein Anfang --------------------------------------------

    <?php
    mysql_connect("rdbms.strato.de",
    "benutzer","kennwort") or die
    ("Keine Verbindung moeglich");
    mysql_select_db("DBXXXXXX") or die
    ("Die Datenbank existiert nicht");
    ?>


    <?
    $result = mysql_query("SELECT geraet_id FROM Preise");
    ?>

    <?
    funktion mk_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) {
    echo "select $multipleauswahl name=\"$name\" size=$groesse>";


    $i=0;
    while($row = mysql_fetch_array($result)) {
    echo "<option value=\"" . $row[$feld] . "\">";
    echo $row[$feld];
    echo "</option>\n";

    }
    mysql_data_seek($result, 0);
    echo "</select>";

    }
    ?>

    </body>

    </html>

    --------------------------------------->
    nun funktioniert das ganze noch nicht, kommt immer die fehlermeldung:

    Parse error: parse error in /mnt/am2/05/258/00000010/htdocs/preise/preise_test.php on line 35

    Vielleicht kann mir jemand helfen
     

  2. #2
    Avatar von JackyD
    JackyD JackyD ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    CW:BW:DE
    Beiträge
    143
    Poste mal bitte die Zeilen 33-37 von deinem Script, da man oben nicht erkennen kann, welches die Zeile 34/35 und 36 ist. Das erleichter es uns dir zu helfen.
     

  3. #3
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    <?
    funktion mk_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) {
    echo "select $multipleauswahl name=\"$name\" size=$groesse>";


    $i=0;
    while($row = mysql_fetch_array($result)) {
    echo "<option value=\"" . $row[$feld] . "\">";
    echo $row[$feld];
    echo "</option>\n";

    }
    mysql_data_seek($result, 0);
    echo "</select>";

    }
    ?>
     

  4. #4
    Avatar von JackyD
    JackyD JackyD ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    CW:BW:DE
    Beiträge
    143
    PHP-Code:
    echo "select $multipleauswahl name=\"$name\" size=$groesse>"
    Dort fehlt am Anfang bei select ein <
    und ändere diese Zeile:
    PHP-Code:
    while($row mysql_fetch_array($result)) { 
    auf das:
    PHP-Code:
    while($row  =  mysql_fetch_array($datensatz))  { 
    und schreib mal deine function mit c!
    Probier es nochmal wenn es nicht geht, dann melde dich bitte nochmal!

    *Off Topic*
    Benutze nächstes mal bitte die Code Tags
    Geändert von JackyD (26.05.05 um 18:38 Uhr)
     

  5. #5
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    danke für die schnelle Antwort. bekomme aber nach wie vor den Fehler:

    Parse error: parse error in /mnt/am2/05/258/00000010/htdocs/preise/preise_test.php on line 15





    PHP-Code:


    <?php
    mysql_connect
    ("rdbms.strato.de",
    "benutzer","kennwort") or die
    (
    "Keine Verbindung moeglich");
    mysql_select_db("DBXXXXXX") or die
    (
    "Die Datenbank existiert nicht");
    ?>


    <? 
    $result 
    mysql_query("SELECT geraet_id FROM Preise");
    ?>

    <?
    funktion mc_select
    ($datensatz$feld$name$multipleauswahl =""$groesse 10) {
    echo 
    "<select $multipleauswahl name=\"$name\" size=$groesse>";


    $i=0;
    while(
    $row mysql_fetch_array($datensatz)) {
    echo 
    "<option value=\"" $row[$feld] . "\">";
    echo 
    $row[$feld];
    echo 
    "</option>\n";

    }
    mysql_data_seek($result0);
    echo 
    "</select>";

    }
    ?>
     

  6. #6
    Avatar von JackyD
    JackyD JackyD ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    CW:BW:DE
    Beiträge
    143
    Du hast noch nicht alles geändert.
    und schreib mal deine function mit c!
    Im Deutschen schreibt man Funktion mit "k", aber in den Scriptsprachen schreibt man sie mit "c".
    So muss das heißen:
    PHP-Code:
    function mc_select($datensatz$feld$name$multipleauswahl =""$groesse 10) { 
    echo 
    "<select $multipleauswahl name=\"$name\" size=$groesse>"
     

  7. #7
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    Coole Sache !

    Ich hab mich immer gefragt was meint der bloß mit dem "C" ...
    einfach nicht drüber nachdenken, ich habs geändert und jetzt funktioniert es !

    DANKE DANKE!
     

  8. #8
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    jetzt klapp zwar alles - nur eins hab ich vergessen. in welcher variable steckt nun die getroffene auswahl die weitergegeben werden kann, bzw. wie funktioniert es am besten?
     

  9. #9
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    irgendwie wird der value nicht übertragen

    hier mein code:
    PHP-Code:
    <? 
    $datensatz1 
    mysql_query("SELECT geraet_id FROM Preise ORDER by geraet_id");
    ?>

    <form  action=ausgabetest.php  method=post>

    Handyauswahl<br>
    <?

    function mc_select($datensatz1$feld$Handysuche$multipleauswahl =""$groesse 10) { 
    echo 
    "<select $multipleauswahl name=\"$Handysuche\" size=$groesse>"

    $i=0;
    while(
    $row mysql_fetch_array($datensatz1))

    {

    echo 
    "<option value=\"" $row[$feld] . "\">";
    echo 
    $row [$feld];
    echo 
    "</option>\n";

    }
    "</select>";

    }

    mc_select($datensatz1"geraet_id""multiple""10");

    ?>

    <INPUT TYPE="submit" ACTION="ausgabetest.php" VALUE="Suchen"  METHOD="post">
     
    <INPUT TYPE="reset" VALUE="Eingaben löschen">
    dann nur erstmal zum testen hab ich die ausgabetest.php erstellt wo der VALUE angezeigt werden soll.

    ausgabetest.php
    PHP-Code:
    <?
    echo $_POST['Handysuche']; ?>

    Im Select-Feld wird der Inhalt der DB richtig angezeigt. So weit so gut.
    Nur leider kommt in der "ausgabetest.php" nichts an
     

  10. #10
    Avatar von Jörg Rißmann
    Jörg Rißmann Jörg Rißmann ist offline Mitglied Smaragd
    Registriert seit
    May 2005
    Ort
    Remshalden
    Beiträge
    1.007
    Der Zugriff erfolgt nicht über diese Variable, sondern über den Namen des select-feldes.
    Das übergibst du an die Funktion. Also Zugriff über $_POST['geraet_id']

    Ändere bitte ausserdem
    <form action=ausgabetest.php method=post>

    in
    <form action="ausgabetest.php" method="post">


    und
    <INPUT TYPE="submit" ACTION="ausgabetest.php" VALUE="Suchen" METHOD="post">

    in
    <input type="submit" value="suchen">
     
    Ich bin arbeitlos und suche dringend eine neue Festanstellung!
    Kennst du jemanden der einen
    • PHP-Profi
    • Datenbankadministrator
    • Webdesigner
    • Netzwerkadministrator
    • oder ähnliches
    sucht, bitte mit mir in Verbindung setzen.
    Ceraph@gmx.de

    Danke, Jörg

  11. #11
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    funktioniert leider immer noch nicht, hab es wie empfohlen geändert:

    PHP-Code:
    <? 
    $datensatz1 
    mysql_query("SELECT geraet_id FROM Preise ORDER by geraet_id");
    ?>

    <form action="ausgabetest.php"  method=post>

    Handyauswahl<br>
    <?

    function mc_select($datensatz1$feld$Handysuche$multipleauswahl =""$groesse 10) { 
    echo 
    "<select $multipleauswahl name=\"$Handysuche\" size=$groesse>"

    $i=0;
    while(
    $row mysql_fetch_array($datensatz1))

    {

    echo 
    "<option value=\"" $row[$feld] . "\">";
    echo 
    $row [$feld];
    echo 
    "</option>\n";

    }
    "</select>";

    }

    mc_select($datensatz1"geraet_id""multiple""10");



    ?>

    <INPUT TYPE="submit" VALUE="Suchen">
     
    <INPUT TYPE="reset" VALUE="Eingaben löschen">
    und hier die ausgabetest.php
    PHP-Code:
    <?
    echo $_POST['geraet_id'];
     

    ?>
    ist doch noch irgendwo ein Fehler versteckt ?
     

  12. #12
    Avatar von Jörg Rißmann
    Jörg Rißmann Jörg Rißmann ist offline Mitglied Smaragd
    Registriert seit
    May 2005
    Ort
    Remshalden
    Beiträge
    1.007
    ja, war aber auch vergessen meinerseits.
    1. method="post" <- auch in anführungszeichen
    2. <INPUT TYPE="submit" name="submit" VALUE="Suchen">

    Dann poste doch mal den quelltext, der dann ausgegeben wird.
    Also wenn du das select-feld siehst, vor dem abschicken.
     
    Ich bin arbeitlos und suche dringend eine neue Festanstellung!
    Kennst du jemanden der einen
    • PHP-Profi
    • Datenbankadministrator
    • Webdesigner
    • Netzwerkadministrator
    • oder ähnliches
    sucht, bitte mit mir in Verbindung setzen.
    Ceraph@gmx.de

    Danke, Jörg

  13. #13
    renner2000 renner2000 ist offline Mitglied
    Registriert seit
    May 2005
    Beiträge
    15
    Änderungen gemacht, trotzdem nicht.

    hier der kompl Quelltext:

    PHP-Code:
    <?php
    mysql_connect
    ("rdbms.strato.de",
    "xxxxx","xxxxx") or die
    (
    "Keine Verbindung moeglich");
    mysql_select_db("DBxxxxx") or die
    (
    "Die Datenbank existiert nicht");
    ?>


    <? 
    $datensatz1 
    mysql_query("SELECT geraet_id FROM Preise ORDER by geraet_id");
    ?>

    <form action="ausgabetest.php" method="post">

    Handyauswahl<br>
    <?

    function mc_select($datensatz1$feld$Handysuche$multipleauswahl =""$groesse 10) { 
    echo 
    "<select $multipleauswahl name=\"$Handysuche\" size=$groesse>"

    $i=0;
    while(
    $row mysql_fetch_array($datensatz1))

    {

    echo 
    "<option value=\"" $row[$feld] . "\">";
    echo 
    $row [$feld];
    echo 
    "</option>\n";

    }
    "</select>";

    }

    mc_select($datensatz1"geraet_id""multiple""10");

    ?>

    <INPUT TYPE="submit" name="submit" VALUE="Suchen">
     
    <INPUT TYPE="reset" VALUE="Eingaben löschen">
    und die "ausgabetest.php" (mehr ist nicht enthalten, nur zum test)

    PHP-Code:
    <?
    echo $_POST['geraet_id'];
     
    ?>
     

  14. #14
    Avatar von Jörg Rißmann
    Jörg Rißmann Jörg Rißmann ist offline Mitglied Smaragd
    Registriert seit
    May 2005
    Ort
    Remshalden
    Beiträge
    1.007
    Sorry, ich meinte den Quellcode, den der browser empfängt.
    Also browser aufrufen, rechtsklick, quelltext anzeigen
     
    Ich bin arbeitlos und suche dringend eine neue Festanstellung!
    Kennst du jemanden der einen
    • PHP-Profi
    • Datenbankadministrator
    • Webdesigner
    • Netzwerkadministrator
    • oder ähnliches
    sucht, bitte mit mir in Verbindung setzen.
    Ceraph@gmx.de

    Danke, Jörg

  15. #15
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Probier mal Folgendes:
    PHP-Code:
    <?php

        mysql_connect
    ('rdbms.strato.de''xxxxx''xxxxx') or die('Keine Verbindung moeglich');
        
    mysql_select_db('DBxxxxx') or die('Die Datenbank existiert nicht');

        function 
    mc_select($result$column$name$size=false$multiple=false) {
            if( !
    is_resource($result) ) {
                return 
    false;
            }
            
    $output '<select '.( (bool)$multiple ' multiple="multiple"' '' ).' name="'.htmlentities($nameENT_COMPAT).'"'.( (int)$size>' size="'.((int)$size).'"' '' ).'>';
            while( 
    $row mysql_fetch_array($resultMYSQL_ASSOC) ) {
                if( !isset(
    $row[$column]) ) {
                    return 
    false;
                }
                
    $output .= '<option value="'.htmlentities($row[$column], ENT_COMPAT).'">'.$row[$column].'</option>';
            }
            
    $output .= '</select>';
            return 
    $output;
        }

    ?>

    <?php

        $query 
    "
            SELECT
                    `geraet_id`
              FROM
                    `Preise`
              ORDER BY
                    `geraet_id`
            "
    ;
        
    $result mysql_query($query);

    ?>
    <form action="ausgabetest.php" method="post">
        <?php echo mc_select($result'geraet_id'10true); ?>
        <input type="submit" name="submit" value="Suchen">
        <input type="reset" value="Eingaben löschen">
    </form>
     

Ähnliche Themen

  1. <select>-Feld -> Möglichkeiten
    Von Sebigf im Forum CSS
    Antworten: 1
    Letzter Beitrag: 10.08.06, 11:58
  2. Select Feld einfärben!?
    Von markberg im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 11.09.05, 13:42
  3. Select Feld aus datenbank
    Von roland_t im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.07.05, 13:57
  4. Select Feld anderes Select Feld steuern lassen aber wie?
    Von danielmueller im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 25.10.04, 00:12
  5. Mit CSS SELECT-Feld einfärben
    Von DeathMasterIII im Forum CSS
    Antworten: 2
    Letzter Beitrag: 13.07.02, 11:13