Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
query erstellen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




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

 
Alrik
26-02-2006, 12:17 
 
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

 
Schnoop
26-02-2006, 14:12 
 
mittels eines foreach über $_POST und empty.

Streng deine Rübe doch mal an

 
asp2php
26-02-2006, 14:32 
 
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

 
wahsaga
27-02-2006, 14:14 
 
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?

 
goth
27-02-2006, 14:30 
 
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");

}

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:12 Uhr.