Archiv verlassen und diese Seite im Standarddesign anzeigen : query erstellen
jhaustein 26-02-2006, 10:33 hallo gemeinschaft
durch input befehl erhalte ich folgende ausgabe eines arrays in einer session
Array
(
[box4] =>
[box5] =>
[box6] =>
[schulf] => f1
[box1] =>
[box2] => checkbox2
[box3] =>
)
jetzt möchte ich es in eine query bekommen in der art
... where schulf=f1 and box2=checkbox2 ..
könnt ihr da mal schauen?
gruss
jörg
Moin,
Wo ist das Problem? Du musst doch nur für jede Variable die ungleich "" ist deinen Query erweitern.
Gruß Thomas
jhaustein 26-02-2006, 13:43 kannst du mir erklären, wie du das meinst
mittels eines foreach über $_POST und empty.
Streng deine Rübe doch mal an
Original geschrieben von Schnoop
Streng deine Rübe doch mal an
das kannste vergessen! It's jhaustein! :mad:
jhaustein 27-02-2006, 12:45 hallo - vielleicht könnt ihr nochmal rüberschauen
foreach ($array as $key => $value)
{
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4);
mysql_query("select * from table WHERE ".$where);
?>
Warning: Invalid argument supplied for foreach() in
C:\xxampp\xampp\htdocs\frames2\frames\gesamt.php on line 19
zeile 19 ist foreach
onemorenerd 27-02-2006, 12:49 $array ist kein Array. :rolleyes:
jhaustein 27-02-2006, 14:07 stimmt - eine habe ich da noch - wie würdest du es machen, dass die felder ohne inhalt nicht mit hineinkommen
lg
jörg
Original geschrieben von jhaustein
eine habe ich da noch - wie würdest du es machen, dass die felder ohne inhalt nicht mit hineinkommen
Diese Frage ist immer noch die, vor der du am Anfang standest.
Willst du uns nur wieder mal beweisen, dass es absolut zwecklos ist, dir zu antworten, weil du doch absolut nichts dazulernst?
Original geschrieben von wahsaga
Willst du uns nur wieder mal beweisen, dass es absolut zwecklos ist, dir zu antworten, weil du doch absolut nichts dazulernst?
Wie ... das habt Ihr erst nach 841 Beiträgen verstanden ... ?!?!
Mir war das schon viel früher klar ... aber ich rich' nen Troll auch 800Km gegen den Wind ... :dontknow:
jhaustein 27-02-2006, 14:36 ... nicht schlecht
kannst du denn vielleicht dem troll erklären, wie ich da ne emtpy abfrage reinbekomme
... ich weiss zwar wie es geht, wenn ich abfragen will, ob die ganze query ohne inhalt ist-aber ich weiss nicht, wie ich die einzelnen werte abfrage
ist denn die frage so einfach?
jahlives 27-02-2006, 15:00 Also du Troll ;)
wieso denn nicht so
foreach($dein_array as $key=>$wert){
if(emtpy(trim($wert)){
//Das Feld scheint leer zu sein --> weiter im Text
continue;
}else{
//Dieses Feld scheint belegt zu sein --> also mach was draus
}
}
//wenn du nicht auf foreach stehst (soll ja solche Leute geben)
while($wert=each($dein_array)){
//$wert[0] ist der Index und $wert[1] dessen Wert
//den Code dazu kannst du dir sehr gerne selber schreiben
}
Gruss
tobi
p.s. etwas eigenes Denken wäre schon schön :teach:
jhaustein 27-02-2006, 15:11 vielen dank - wenn man das so sieht, dann sieht das echt nicht so kompliziert aus -
dank dir nochmal
jahlives 27-02-2006, 15:31 ...dann sieht das echt nicht so kompliziert aus
Das hat auch keiner hier behauptet, aber du hast schon impliziert, dass dies ein riesengrosses PHP Problem sein muss :)
Sorry aber Werte prüfen gehört zu den Basics :rolleyes:
Gruss
tobi
jhaustein 27-02-2006, 17:32 hallo gemeinschaft
das ist mein code
foreach ($_SESSION as $key => $value)
if(empty(trim($value))){
continue;
}
else
{
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4);
$ergebnis=mysql_query("select * FROM test WHERE $where");
echo "ERGEBNIS".$where;
for ($x=0; $x<mysql_numrows($ergebnis); $x++)
{
$vt = mysql_result($ergebnis, $x, "nummer");
echo "$vt<br>";
}
das die fehlermeldung
Fatal error: Can't use function return value in write context in
C:\xxampp\xampp\htdocs\frames2\frames\gesamt.php on line 21
jahlives 28-02-2006, 13:10 Sorry das habe ich auch erst heute gemerkt
foreach ($_SESSION as $key => $value)
$value = trim($value);
if(empty($value)){
continue;
}
Man kann empty() nicht auf den Rückgabewert anderer Funktionen loslassen.
Gruss
tobi
jhaustein 28-02-2006, 13:36 hi
hatte es so gemacht - schau mal
foreach ($_SESSION as $key => $value)
if(empty($value)){
continue;
}
else
{
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4);
if ($where == '')
{
$ergebnis=mysql_query("select * FROM test");
}
else
{
$ergebnis=mysql_query("select * FROM test WHERE
$where");
}
|