Aufzählungen auswerten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
antworten
array
bedingung
code
dank
datum
folgendes problem
frage
funktion
geschmackssache
komma
kunde
markieren
schleife
string
tabelle
versuch
verwertbare form
zeile
-
Ich habe folgendes Problem: Über post bekomme ich einen String zurück inden der User hineinschreiben kann welche Einträge er ausdrucken will, z.B.: 2,5,7,8,9-10. und nun muss ich all diese Einträge aus der mysql Datenbank herausholen und aber wie mach ich das am Sinnvollsten?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du kasnnst den string auch auf ein arry splitten
separator ist das komma
wie groß das array sein muss kannst du ja beim splitten ermitteln
und dann dynamisch resizen
fann in ner zählschleife für jeden eintrag im arry ne abfrage machen
und die ergebnisse auch wieder auf ein arry schreiben
dann aus dem arry mit ner schleife die ausgabe generieren -
versuchs mal mit explode und einer for- oder foreach-Schleife.
-
Ich lass sowas den Kunden schon in einer Maske auswählen und nicht selbst durch ein Eingabefenster reinschreiben.
Das hat den Vorteil, dass man die Eingaben des Kunden nicht validieren muß! Sonst müsste deine Funktion möglichst viele Eingabemöglichkeiten parsen können (also mit/ohne Leerzeichen, Komma getrrennt, Leerzeichen getrennt usw.)
Wenn du den Nutzer gleich die Werte über eine Listbox auswählen lässt (mit Strg kann man mehrere Zeilen markieren) hast du dann die Daten gleich in einem dir gewünschtem Format vorliegen.
Ok ist vllt. auch Geschmackssache, aber eine Überlegung wert.
Grüßle -
Letzeres kommst nicht infrage da es sehr viele einträge sein können und es eine zumutung wäre alle anzuklicken, bzw. mit einer listbox geht es auch nicht da es eine tabelle ist und es ineinhalb einer zeile wieder links gibt zum bearbeiten und löschen.
-
dann schau dir wie schon gesagt mal foreach und explode an. So müsstest du es am Besten in verwertbare Form bringen.
-
nur wie mache ich dann mit der foreach funktion die sql abfrage für jeden Wert des Arrys?
SELECT
*
FROM
Tabelle
WHERE
id= arry???? -
Versuchs mal so:
$array = ARRAY MIT DEN SEITENWERTEN foreach ($array as $value) { mysql_query("SELECT * FROM Tabelle WHERE id = $value"); //usw. }
-
da könntest du es mal mit explode am bindestrich versuchen. musst du dir halt was ausdenken.
-
speckuntu schrieb:
danke für die antworten
abschließend nur noch eine frage wie soll ich das dann machen wenn der user z.B. 3-23 hineingeshreiben hat?
Das ganze Aufteilen in Anfang und Ende und dann im MySQL Statemtent Folgendes im Where-Teil einfügen:
(ID>=3 AND ID<=23
Oder mit einer for-Schleife von 3 bis 23 durchzählen:
for ($i = 3; $i <= 23; $i++) { mysql_query("SELECT * FROM Tabelle WHERE id = ".$i); }
Gruß
Karlja -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage