[GastForen Programmierung/Entwicklung PHP und MySQL Select Menu Abfrage

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

Select Menu Abfrage

Burner
Beiträge gesamt: 16

22. Jan 2005, 01:10
Beitrag # 1 von 7
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
komme bei der sache einfach nciht weiter und hoffe auf euere hilfe..
habe ein formular mit einem select menu. wenn ich eine kategorie auswähle, soll eine abfrage auf der sql datenbank erfolgen.
hier das formular:
<form action="selectmenu.php" method="post">
<select name="typ">
<option value="Action" selected> Action</option>
<option value="Unterhaltung" selected> Unterhaltung</option>
<option value="Horror" selected> Horror</option>
<option value="Comedy" selected> Comedy</option>
<option value="Zeichentrick" selected> Zeichentrick</option>
<option value="Drama" selected> Drama</option>
<option value="Musik" selected> Musik</option>
<option value="Science Fiction" selected> Science Fiction</option>
<option value="" selected> </option>
</select><p>
<input type="submit">
<input type="reset">
</form>

und das php script:
<?php
$db=mysql_connect("localhost","","");
$sqlab="select * from dvd where typ ='$typ'";
$res=mysql_db_query('test', $sqlab);
$num=mysql_num_rows($res);
if ($num==0) echo "keine Datensätze vorhanden";



for ($i=0;$i<$num; $i++){
$tit = mysql_result($res, $i, "$titel");
$typ = mysql_result($res, $i, "$typ");
$kat = mysql_result($res, $i, "$kategorie");
$lan = mysql_result($res, $i, "$language");

echo "<tr> <td>$titel</td><td>$typ</td><td>$kategorie</td><td>$language</td>";

}
echo mysql_error();
//tabellenende
echo"</table>";
mysql_close($db);


?>

vielen dank im voraus
burner
X

Select Menu Abfrage

Kusi
Beiträge gesamt: 1398

22. Jan 2005, 09:32
Beitrag # 2 von 7
Beitrag ID: #138624
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Burner

Es sind schon einige Fehler drin:
Beim Popup zuerst

<option value=""> Bitte Film w&auml;hlen</option>

Dann alle Einträge ohne selected
<option value="Unterhaltung" selected> Unterhaltung</option>


<?php
$db=mysql_connect("localhost","","");
$sqlab="select * from dvd where typ ='$typ'";
$res=mysql_db_query('test', $sqlab);
$num=mysql_num_rows($res);

Hier machst du eine if Abfrage, es fehlen die geschweiften Klammern
if ($num==0){
echo "keine Datensätze vorhanden";
exit;//Verlässt das Script, nur wenn du das natürlich willst
}
//und wenn du sie schon gezählt hast, gib doch die Anzahl aus
else {
echo $num;
}

An deiner Stelle würde ich da die While Schleife verwenden
while($row=mysql_fetch_array($res))
{
$titel=$row['titel'];
$typ = $row['typ'];
$kategorie=$row['kategorie'];
$language = $row['language'];

/*Nun folgt die Ausgabe, die zusammengestzt werden muss
Wie ich es da bei $titel gemacht habe. Am Schluss fehlte noch ein </tr>*/

echo "<tr> <td>".$titel."</td><td>$typ</td><td>$kategorie</td><td>$language</td></tr>";

}
echo mysql_error();
//tabellenende
echo"</table>" ;
//Wo beginnt die Tabelle?
mysql_close($db);

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign


als Antwort auf: [#138601]

Select Menu Abfrage

Foggy
Beiträge gesamt: 48

23. Jan 2005, 09:31
Beitrag # 3 von 7
Beitrag ID: #138746
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
if ($num==0) echo "keine Datensätze vorhanden";
ist aber völlig in Ordnung weil er nur EINE Funktion ausführt falls if true ergibt...
Mit Kusis exit() brauchst du dann die geschweiften Klammern aber tatsächlich ;)


als Antwort auf: [#138601]

Select Menu Abfrage

Burner
Beiträge gesamt: 16

23. Jan 2005, 22:38
Beitrag # 4 von 7
Beitrag ID: #138854
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
habe ein formular mit select menu mit einem zugriff auf eine sql datenbank. das funktioniert jetzt auch einwandfrei. allerdings nur mit der abfrage select * from dvd where .....or ... oder mit der abfrage
select from dvd where .....and.....

es sollten aber beide varianten funktionieren.
kann mir da einer helfen

danke und gruß
burner


als Antwort auf: [#138601]

Select Menu Abfrage

Foggy
Beiträge gesamt: 48

24. Jan 2005, 01:04
Beitrag # 5 von 7
Beitrag ID: #138865
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du musst aber trotzdem noch eine Spalte auswählen...

---------------------------------------------------------------------
Der wahre Lohn des Menschen
ist was er durch seine Arbeit wird, nicht was er durch sie erwirbt...
(Ruskin)


als Antwort auf: [#138601]

Select Menu Abfrage

tkshorty
Beiträge gesamt: 13

24. Jan 2005, 08:27
Beitrag # 6 von 7
Beitrag ID: #138874
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
versuchs mal an der stelle

$sqlab="select * from dvd where typ ='$typ'";

anstatt mit $typ mit $_POST["typ"]

dann müsste der das richtige nehmen


als Antwort auf: [#138601]

Select Menu Abfrage

Pozor
Beiträge gesamt: 892

24. Jan 2005, 08:37
Beitrag # 7 von 7
Beitrag ID: #138876
Bewertung:
(2242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

vorsicht bei SQL-Abfragenm mit userdaten!
Für Mysql gibts eine einfache Funktion
http://www.php.net/mysql_escape_string
um die Daten sicher zu verarbeiten.
google-> sql injection

http://www.boelsterli.biz/...ng.php?content=mysql

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#138601]
X