Drop menue Programmierung

Du sollst deinen Beitrag oben, mit dem PHP-Code, bearbeiten, nämlich:
1) Am Anfang des Codes [code=php] schreiben
2) Am Schluss [/code] schreiben

Hat nichts mit PHP selber zu tun, aber mit dem Forum hier.
So bekommst du eine Codebox mit Zeilennummerierungen, Syntaxhighlighting etc
Auch die Zeileneinrückungen bleiben erhalten. Dann wird es viel besser lesbar.

Gruß
 
Zuletzt bearbeitet:
danke für den Tip. Ich hoffe, dass es jetzt richtig ist. Es gelingt mir dennoch nicht meine "verträge in das Dropdaown zur Auswahl rein zu bekommen!? Was mach' ich falsch?
Nochmal meine Fragen:
Warum werden meine Verträge(id bezogen)aus der Datenbank so nicht ausgelesen und angezeigt?
Was muss unter 'data' eingesetzt werden? muss das heißen: 'data' = 'vertrag'?

PHP:
//dbrequest.php
mysql_connect('localhost', 'root', 'password');
mysql_select_db('wemepes_ch');

if( isset($_GET[data]) ){
$sql = 'SELECT * FROM `bookmark` WHERE `vertrag` = "'.mysql_real_escape_string($_GET['data']).'"';
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['vertrag'];
}
else{
echo 'Invalid Request';
}
-------------------------------------------------------------------------------------------------------------------------------------

wird hier für id = gcname eingetragen, da nur die Verträge des users=gcname angezeigt werden sollen?

was muss als url angezeigt?

PHP:
//main.js

function sendRequest(url, id){

//erstellen des requests
var req = null;

try{
req = new XMLHttpRequest();
}
catch (ms){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (nonms){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed){
req = null;
}
}
}

if (req == null)
alert("Error creating request object!");

req.open("GET", url, true);

//Beim abschliessen des request wird diese Funktion ausgeführt
req.onreadystatechange = function(){
switch(req.readyState) {
case 4:
if(req.status!=200) {
alert("Fehler:"+req.status);
}else{
alert(req.responseText);
//schreibe die antwort in den div container mit der id content
document.getElementById(id).innerHTML = req.responseText;
}
break;

default:
return false;
break;
}
};

req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);
}
------------------------------------------------------------------------------------------------------------------------------
HTML:
<head>
<!-- Javascript Datei einbinden -->
<script type="text/javascript" src="./main.js"></script>
<title>Mein Ajax Test</title>
</head>
<body>
<div id="output"></div>
<select onchange="sendRequest('./dbrequest.php?data='+this.value, 'output');">
<option value="1">1. Option</option>
<option value="2">2. Option</option>
</select>
</body>
--------------------------------------------------------------------------------------------------------------------------------

1. Option + 2. Option was muss hier eingetragen werden?
Ich würde die Begriffe 1. vertrag + 2. datum einsetzten, da das aus den Datenbank bezogen auf den username = gcname angezeigt werden soll

mit freundlichen Grüßen
PETERS, Werner
 
Also wenn ich dich richtig verstanden habe, hast du einen User und willst die Verträge in dem Dropdown menü anzeigen lassen?
PHP:
<div id="output"><!-- hier werden die Daten angezeigt --></div>
<select onchange="sendRequest('./dbrequest.php?data='+this.value, 'output');">
<?php
while( $row = mysql_fetch_assoc($result) ){
  echo '<option>'.$row['vertrag'].'</option>';
}
?>
Die Schleife natürlich anpassen.

Die dbrequest muss dann den entsprechenden Vertrag aus der Datenbank auslesen.
Erhälst du denn überhaupt eine Ausgabe (z.b. Invalid Request) ?
 
Hi, danke für die Antwort und Geduld mit mir, komme aber mit dem anderen nicht klar und habe letzte Nacht das folgende erarbeitet:

Diese Funktionen habe ich geschrieben, die so auch wirklich funktionieren.
Mit der 1. Funktion werden die gewünschten Daten aus der Datenbank ausgelesen:

PHP:
function user_liste($valid_user)
 {
   // user und Verträge  auflisten
    $conn = db_connect();
    $result = $conn->query("select * from bookmark where gcname = '".$_SESSION['valid_user']."'");

    if (!$result) throw new Exception('<div align="center"><b>Konnte keinen user im Bestand finden.</b></div>');
    if ($result->num_rows == 0) throw new Exception('<div align="center"><b>Konnte keinen user im Bestand finden.</b></div>');

    $users = array();
    // ein Array der relevanten user anlegen
    for ($count = 0; $count< $result->num_rows; $count++)
     {
       $row = $result->fetch_object();

       $users[$count]["gcname"] = $row->gcname;
       $users[$count]["vertrag"] = $row->vertrag;
       $users[$count]["zeile"]   = $row->zeile;
       $users[$count]["datum"]   = date_turn($row->datum);
     }
    return $users;

 }
----------------------------------------------------------------------------------------------
dann werden diese auch, leider in einer teilweise langen Liste ausgegeben:

PHP:
//Ausgabe der Verträge bezogen auf den jeweiligen user

function display_userliste($users_array)
{

<br />
<table cellpadding="0" cellspacing="5" align="center">

PHP:
    $color = "#cccccc";
    if (is_array($users_array) && count($users_array) > 0)
     {
       echo "<tr bgcolor=\"$color\">\n";

       echo"<th>gcname</th>\n";
       echo "<th>Vertrag</th>\n";
       echo "<th>Zeile/Anbindung</th>\n";
       echo "<th>Beginn</th>\n";
       echo "</tr>\n";

       foreach ($users_array as $user)
        {
          if ($color == "#ccff99")
              $color  = "#ffffff";
          else
              $color = "#ccff99";
           echo "\n<tr bgcolor=\"$color\">\n";
          foreach ($user as $key => $wert)
           {
              echo "<td>$wert</td>\n";  (siehe unten nochmal erklärt)
           }
          echo "</tr>\n";

        }
    }

endlich ein Ergebnis:

user Vertrag Zeile/Anbindung Beginn

wemepes 60335 3-60335 14.02.2011
wemepes 61702 4-60336 01.01.2011
wemepes 64648 5-61389 01.04.2011

Das ist eine Liste, aber leider kein Dropdown Menue, das ich will! Es funktioniert aber, denn die gewünschten Daten werden ja toll angezeigt!
Nun sollte ich das Ganze in einem Dropdown Menue angezeigt bekommen,
dann sollte ich einen Vertrag anwählen können, dessen Inhalt mir dann angezeigt wird!
Aber wie?

Wenn ich die Zeile der letzten Funktion:
PHP:
echo "<td>$wert</td>\n";
nehme und so umschreibe:

PHP:
echo"<td><a href=\"$wert\">$wert</a></td>\n";

kann ich zwar den Vertrag auswählen, aber der 'Anker' erstreckt sich auch auf den ausgelesenen $wert insgesamt wie: user, Zeile/Vertrag und Datum, was unsinnig ist!?
Ich will nur den Vertrag zum Auslesen markieren können. Deshalb auch der Wunsch nach dem Drop Down Menue!

mfg WP

mfg WP
 
Ersetze die <tr> Tags durch einen <option> Tag. Die nachfolgenden <th> und <td> tags brauchst du dann natürlich auch nicht mehr, auch nicht mehr das was zwischen ihnen steht, die foreach Schleife sollte so bleiben können (ohne <td>). Die <table> und </table> tags, musst du durch den <select> Tag von weiter oben und durch </table> ersetzen. Dann solltest du dein Dropdown menü haben.
Fangen wir damit erstmal an. Danach machen wir weiter ;)
 
Zuletzt bearbeitet:
Hi,
habe nun eingies gelernt und triotzdem noch eine Fragen zu dem u.a. script:
PHP:
for ($i = 0; $i < $num_results; $i++) {
     $row = $result->fetch_assoc();
 
    echo '<p>' . ($i + 1) . '. Vertrag: ';
    echo '<a href="./ ************">';
    echo '<font color="#ffffff">';
    echo htmlspecialchars(stripslashes($row['vertrag']));
    echo '</font>';
    echo '</a>';
    echo '<br />Datum: ';
    echo stripslashes($row['datum']);
    echo '</p>';

}
Dieses script zeigt folgende Darstellung meiner Verträge aus der Datenbank(z.B.):

1. Vertrag: 60335
Datum: 2011-02-14

Welchen Ausdruck(********) muss ich oben im script nun eingeben, dass ich den Vertrag auch angezeigt bekomme, wenn ich diesen aufrufe:

echo '<a href="./ ************">';


Kann ich dies und wie mit einer Varialblen lösen?
 
Zuletzt bearbeitet von einem Moderator:
Hi

ohne jetzt alles genau gelesen zu haben:
Wo ist denn der Vertrag?
Eine Spalte in der DB?
Eine Datei?
Namen?

Und: Codetags....
 
Hi,
die einzelnen Vertragsnummern sind in einer Datei(SQL) gespeichert bzw. hinterlegt(name: tabelle bookmark Spalten: vertrag und datum] und werden wie oben aufgerufen und angezeigt. Ich möchte die Details eines Vertrages dann direkt auf dem Bildschirm anzeigen lassen. Angezeigt wird nun erstmal die Vertragsnummer.
Gleichzeitig: Die Auflistung der Verträge kann enorm lang sein. deshalb möchte ich diese in einem Dropdownmenu unterbringen und von dort aus zu den Details der Verträge verlinken[mindestens die erst 10 Verträge mit Datum anzeigen].
Aber wie?

mfg
wemepes
 
Zurück