[GastForen Programmierung/Entwicklung PHP und MySQL Suchformular

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Suchformular

Catzenjaeger
Beiträge gesamt: 23

26. Mär 2011, 10:42
Beitrag # 1 von 4
Bewertung:
(2062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe eine kleine Suchseite und logischweise dazu eine Ergebnisseite - leider bekomme ich keine Ergbenisse raus. Kann mir da jemand helfen?

so das ganze funktioniert leider nicht - seite result bleibt leer :( und ich kann das datum auf der Suchseite nicht mit als Bedingung einbinden. Wie gesagt ich suche eine kleine Maske das mir die Möglichkeit gibt eine kleine suche zu machen. Vorstellen tut ich mir das so:

Im Ersten Dropdown ein Jahr zu wählen, das mir die Daten aus der Tabelle Personendaten wo in Feld PF1 das Datum automatisch beim anlegen des Datensatzes gespeichert wird ausgibt. (Daten wiederholen sich jeder Jahr und man sollte die Möglichkeit haben irgendwie den ensprechenden Datensatz des jeweiligen Users zu finden) und dann im zweiten Dropdown die Betreibstelle (PF2) auswählen zu lassen und dann die ensprechenden Personen die dort arbeiten die ich wiederum aus einen Dropdown auswählen kann. Ist das möglich?

also 3 Dropdowns die ensprechend das anzeigen was ich im vorherigen angebe. Datum(PF1) --> Betriebsstelle(PF2) --> Person(PF3 + PF4) --> Suchergebniss

vielen vielen dank schon einmal für eure Hilfe

hier die suche:
Code
<html>    

<head>

<title>Dropdown</title>
</head>
<body>
<form action="result_suche_expedient.php" method="post">Name<select name="Name">

<?php

mysql_connect('localhost', 'DBPassuser', 'DBPasswort');
mysql_select_db('MeineDB_');
// SQL-Query erzeugen


$sql = "SELECT CONCAT(PF4,' ',PF3) AS Name FROM Personendaten;";
$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo("<option>".$row['Name']."</option>");


}
?>
</select>
<input type="submit" value="Senden" />
</form>
</body>
</html>



hier die Ergebnissseite

Code
<html>  
<body bgcolor="#F0FFFF">
<?php
include("global.inc.php");

$Name=$_POST['Name']; //datenpaket aus suche seite was übergeben wird


//DB Verbindung aufnehmen
$link = mysql_connect('localhost','DBUser','DBPpasswort');
mysql_select_db('MeineDB_',$link);
//suche alle datensätze mit den namen aus Such Formular und finde die passende id dazu
$sql = @mysql_query("SELECT id FROM Personendaten Where `PF3` LIKE('$Name')") or die('Nicht vorhanden');

$row = mysql_fetch_array($sql);
//speichere die id als variable um sie weiter zu verwenden
$id=$row['id'];
//echo '$id' //id als zahl ausgeben

$result = mysql_query("SELECT * FROM Personendaten WHERE id LIKE '$id'");
$result1 = mysql_query("SELECT * FROM Buehler WHERE id LIKE '$id'");
$result2 = mysql_query("SELECT * FROM Allgemein WHERE id LIKE '$id'");
$result3 = mysql_query("SELECT * FROM AllgemeinTL WHERE id LIKE '$id'");
$result4 = mysql_query("SELECT * FROM Touristik WHERE id LIKE '$id'");
$result5 = mysql_query("SELECT * FROM TouristikTL WHERE id LIKE '$id'");
$result6 = mysql_query("SELECT * FROM Business WHERE id LIKE '$id'");
$result7 = mysql_query("SELECT * FROM BusinessTL WHERE id LIKE '$id'");
$result8 = mysql_query("SELECT * FROM Softskills WHERE id LIKE '$id'");
$result9 = mysql_query("SELECT * FROM Technikwissen WHERE id LIKE '$id'");
$result10 = mysql_query("SELECT * FROM Technikwissen WHERE id LIKE '$id'");
while($row = mysql_fetch_array($result)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row1 = mysql_fetch_array($result1)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row2 = mysql_fetch_array($result2)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row3 = mysql_fetch_array($result3)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row4 = mysql_fetch_array($result4)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row5 = mysql_fetch_array($result5)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row6 = mysql_fetch_array($result6)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row7 = mysql_fetch_array($result7)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row8 = mysql_fetch_array($result8)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row9 = mysql_fetch_array($result9)) // schleife solange ausführen bis resultset keine zeilen mehr hat
while($row10 = mysql_fetch_array($result10)) // schleife solange ausführen bis resultset keine zeilen mehr hat

X

Suchformular

oesi50
  
Beiträge gesamt: 2315

26. Mär 2011, 11:09
Beitrag # 2 von 4
Beitrag ID: #467751
Bewertung:
(2050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Catzenjaeger,

was meinst Du, wie

Code
"SELECT CONCAT(PF4,' ',PF3) AS Name FROM Personendaten" 

und

Code
"SELECT id FROM  Personendaten Where `PF3` LIKE('$Name')" 


zusammenpassen?


als Antwort auf: [#467748]

Suchformular

Catzenjaeger
Beiträge gesamt: 23

26. Mär 2011, 16:15
Beitrag # 3 von 4
Beitrag ID: #467756
Bewertung:
(2026 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ oesi50 ] Hallo Catzenjaeger,

was meinst Du, wie

Code
"SELECT CONCAT(PF4,' ',PF3) AS Name FROM Personendaten" 

und

Code
"SELECT id FROM  Personendaten Where `PF3` LIKE('$Name')" 


zusammenpassen?


ja das passt zum Beispiel nicht - die Ergebnisseite bleibt leer.
auch wenn ich

Code
"SELECT id FROM  Personendaten Where `PF3` LIKE('$PF3') and Where `PF4` LIKE('$PF4')" 



schreibe gehts nicht - aber mit textboxen geht es da wird es erkannt

wenn ich das also mit 2 textfeldern mache (also wo man den Namen eintippen muss) funzt es. Ich weiss nicht wie die Zeile sein muss damit das Ergebnis angezeigt wird.

Und ist es möglich davor auf der Suchseite noch das Datum vorher auswählen zu können?

Also so:
User hat die Möglichkeit das Jahr($PF1 = Date) zu wählen -->
Danach muss er noch die Betriebsstelle ($PF2) auswählen und bekommt danach im Dropdown (wo Nachname und Vorname stehen = $PF3 und $PF4) die ensprechenden Datensätze dargestellt und kann den entsprechenden auswählen.

wenn alles stimmt dürfte ja nur ein datensatz ausgegeben werden - so zumindest mein Gedanke und Plan - nur bei der Umsetzung happert es :)


als Antwort auf: [#467751]
(Dieser Beitrag wurde von Catzenjaeger am 26. Mär 2011, 16:16 geändert)

Suchformular

Catzenjaeger
Beiträge gesamt: 23

27. Mär 2011, 10:30
Beitrag # 4 von 4
Beitrag ID: #467770
Bewertung:
(1998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
keiner eine Lösung wie ich zumindest die vorhandene suche machen kann?

Code
"SELECT CONCAT(PF4,' ',PF3) AS Name FROM Personendaten" 

und

Code
 "SELECT id FROM  Personendaten Where `PF3` LIKE('$Name')" 

passen ja nicht zusammen - da wird nichts gefunden - was ist falsch an diesen bisschen code?


als Antwort auf: [#467756]
X