jhaustein
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 ..
Chris Hunter
| code: |
1:
|
... where schulf='.$_SESSION[array][schulf].' and box2='.$_SESSION[array][box2].' .. |
|
jhaustein
hi chris vielen dank prob is nur, dass das oben nur ein bsp. isgesamt werden es nachher 190 checkboxen - frag bitte nicht warum - kann ich auch nicht ändern - wie mache ich es denn dann - kann man nicht mit einem befehl die ($_SESSION) einlesen
gruss
jörg
Chris Hunter
oh jeeee.
stell dir den querystring doch vorher in einer foreach schleife zurecht.
sorery bin wortkarg mir gehts grad gar net so gut...
jhaustein
hi chris - das ist ja mein prob - kannst du mir da helfen
gruss und gute besserung bzw alles gute
Chris Hunter
mmmhhh ja. mal schauen..
also hier die forerach schleife wie du sie brauchst
| php: |
1:
2:
3:
4:
5:
|
<?php foreach ($array as $key => $value)
{
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4); ?> |
|
zugegeben die substr sache ist recht doof. man könnte die query stzrings auch alle ine neues array einlesen und dann später mit implode und den trennzeichen ' and ' zusammensetzen.. bin zur zeit ein wenig sehr verwirrt....aber oben das sollte den zweck erfüllen...
ach einsetzen tust es dann so
mysql_query("select * from table WHERE ".$where);
wichtig hierbei ist halt das die checkboxen genau so heißen wie die datenbankfelder. das muss halt stimmig sein, sonst bringts recht wenig. also ergebnismenge < 1 *g*
jhaustein
hi
das ist meine fehlermeldung
Warning: Invalid argument supplied for foreach() in C:\xxampp\xampp\htdocs\frames2\frames\gesamt.php on line 19
bezieht sich auf diese zeile
<?php
echo "<pre>"; print_r($_SESSION); echo "</pre>";
mysql_connect("localhost", "jhaustein", "t");
mysql_select_db("nds1");
foreach ($array as $key => $value) ----- hier ist die zeile 19
{
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4);
mysql_query("select * from test WHERE ".$where);
?>
jhaustein
okay das habe ich hinbekommen - bloss wie bekomme ich die einträge raus, die keinen inhalt haben - wenn z.b. die box3 nicht markiert wurde , dann soll sie auch nicht in der query stehen
Chris Hunter
| php: |
1:
2:
3:
4:
5:
6:
|
<?php foreach ($array as $key => $value)
{
if(strlen($value)>0)
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4); ?> |
|
oder
| php: |
1:
2:
3:
4:
5:
6:
|
<?php foreach ($array as $key => $value)
{
if($value != '')
$where.="$key='$value' and ";
}
$where=substr($where, 0, strlen($where)-4); ?> |
|
daHooligan
Obacht OT:
was macht man mit 150 Checkboxes?
Chris Hunter
diese frage(kicher @ hool [dieb]) stelle ich mir allerdings auch...
schreib mal was du da machst jörg... vielleicht gibt es da einen viel einfacheren weg den du nicht bedacht hast und der weniger rechenaufwendig ist...
also ich hab im meinem leben weder 190 checkboxes gesehen, noch kann ich mir vorstellen für was sie gebraucht werden....
Wolf
| Zitat: |
| was macht man mit 150 Checkboxes? |
Naja, wie wärs mit
"Welchem Teletubbie bist du am ähnlichsten?"
Intelligenztest
Umfrage
...
Prophet
Bevor er 190 Checkboxes verarbeitet sollte er sich gedanken machen wie ein blätter funktion funktioniert...
Chris Hunter
was mir da am meisten angsat macht ist die tatsache das die 190! chweckboxes in ein SELECT Query eiongefügt werden sollen.
d.h. eine tabelle mit mehr als 190 feldern. d.h. 190 schlüsselfelder. d.h. puuuhhhh
chrigu99
| Zitat: |
Original von Chris Hunter
was mir da am meisten angsat macht ist die tatsache das die 190! chweckboxes in ein SELECT Query eiongefügt werden sollen.
d.h. eine tabelle mit mehr als 190 feldern. d.h. 190 schlüsselfelder. d.h. puuuhhhh |
lol... ich will ja mal nicht böse sein aber unser lieber jhaustein =)
stell uns mal dein projekt vor...