php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.10.2005, 11:41  
Gast
 
Beiträge: n/a
Standard Mit Array Datenbank abrufen

Hallo zusammen,

also das ist mein erstes Posting - zumindest in diesem Forum - also nicht gleich den Kopf abreißen. Ich ringe nach Worten.

Mein Problem ist das Folgende: Ich habe mehrere Checkboxen auf einer Seite eingebaut und möchte diese - natürlich auch bei Mehrfachauswahl - noch einmal auf einer anderen Seite ausgeben.
Die Checkboxen:
Code:
<td align='center'><input class='box' type='checkbox' name='id[]' value='$row->id'>
Nun habe ich zumindest den Array auf die nächste Seite übergeben.
Code:
if (isset($id)) {
  reset($id);
for ($i=0;$i<sizeof($id);$i++) {
       $checked=$id[$i];
	echo "$checked";
        }
} else {
  echo 'Sie haben keine Auswahl getroffen.';
}
Zumindest werden über echo "$checked" alle ids der ausgewählten Checkboxen ausgegeben.

Nun möchte ich das Ganze gerne wieder aus der Datenbank aufrufen. Das funktioniert natürlich nicht so, wie angedacht, denn nur der jeweils letzte Wert wird ausgelesen.

Code:
global $database;
$database->setQuery( "SELECT * FROM #__rent"
        . "\nWHERE $checked = id"
        . "\nORDER BY id"
        );
        $rows = $database->loadObjectList();
        foreach ( $rows AS $row) {
Wie kann man also die ausgewählten checkboxen noch einmal anzeigen lassen? Ist die Umwandlung vom String in Array überhaupt sinnvoll? Oder habe ich einen anderen Fehler gemacht.

P.S. nicht wundern, das Ganze läuft in einer 'Mamboumgebung' und in Sachen php bin ich nun 24 Stunden dabei. :wink:

Gruß
ec
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.10.2005, 12:27  
Gast
 
Beiträge: n/a
Standard

Zitat:
$checked=$id[$i];
$checked wird immer wieder überschrieben und hält somit immer nur einen Wert; wenn die Schleife beendet ist, hält es den letzten Wert.

Du arbeitest mit register_globals=On. Ich nicht. $id => $_POST['id']

PHP-Code:
<?php

if (!isset($_POST['id'])) {
    
// Formular anzeigen oder Fehler oder oder oder
}
else if (!
is_array($_POST['id']) || empty($_POST['id'])) {
    
// Fehler anzeigen
    // entweder falsche Eingabe - nicht über das Formular
    // oder keine Auswahl getroffen
}
else
{
    
// Verarbeitung der augenscheinlich korrekten Eingabe
    // nur Zahlen sollen behandelt werden, nicht-Zahlen werden zu 0
    
$ids array_map('intval'$_POST['id']);
    
// 0 gibt es nicht als id. Alles was 0 ist, ist ungültig. Aussortieren
    
$ids array_filter($ids);

    
// <-- hier ist es sicher gut, nocheinmal auf empty($ids) abzutesten -->

    
$sql 'SELECT * FROM #__rent WHERE id in ('join(','$ids) .)id nORDER BY id":
    echo $sql;
}

?>
Unbekannte Funktionen im Handbuch nachschlagen: http://www.php.net/manual/
 
Alt 06.10.2005, 14:03  
Gast
 
Beiträge: n/a
Standard

Schon einmal vielen Dank für deine Antwort.
Also kann ich theoretisch auch mit $id arbeiten oder ist das nicht möglich?
Würde das dann so ausehen?

Code:
<?php

if (!isset($id)) {
   // Formular anzeigen oder Fehler oder oder oder
}
else if (!is_array($id) || empty($id)) {
   // Fehler anzeigen
   // entweder falsche Eingabe - nicht über das Formular
   // oder keine Auswahl getroffen
}
else
{
   // Verarbeitung der augenscheinlich korrekten Eingabe
   // nur Zahlen sollen behandelt werden, nicht-Zahlen werden zu 0
   $ids = array_map('intval', $id);
   // 0 gibt es nicht als id. Alles was 0 ist, ist ungültig. Aussortieren
   $ids = array_filter($ids);

   // <-- hier ist es sicher gut, nocheinmal auf empty($ids) abzutesten -->

   $sql = 'SELECT * FROM #__rent WHERE id in ('. join(',', $ids) .')id \nORDER BY id":
   echo $sql;
}

?>
Zumindest passiert nicht das was passieren soll. if (!isset($id)) wird zum Beispiel "aktiv" bzw. ist erfüllt, wenn ich keine Checkbox auswähle. Das soll doch aber nicht so sein.

Und die Datenbankabfrage läuft irgendwie auch nicht.

Wenn du sagst ich soll nach unbekannten Funktionen suchen - ist das nicht ganz so einfach wie es sich anhört. Zumindest müsste man wissen wonach man wo suchen sollte.

Gruß
ec
 
Alt 06.10.2005, 14:36  
Gast
 
Beiträge: n/a
Standard

Zitat:
Also kann ich theoretisch auch mit $id arbeiten oder ist das nicht möglich?
Forensuche benutzen, Stichwort regsiter_globals
ebenfalls http://faq-phpfriend.de/q/q-formular...r-globals.html

Zitat:
Zumindest passiert nicht das was passieren soll. if (!isset($id)) wird zum Beispiel "aktiv" bzw. ist erfüllt, wenn ich keine Checkbox auswähle. Das soll doch aber nicht so sein.
keine checkbox, kein $id. Doch genauso soll das sein.

Zitat:
Und die Datenbankabfrage läuft irgendwie auch nicht.
Es wird ja auch nur das sql Statement ausgegeben. Was wird denn ausgegeben?

Zitat:
Wenn du sagst ich soll nach unbekannten Funktionen suchen - ist das nicht ganz so einfach wie es sich anhört. Zumindest müsste man wissen wonach man wo suchen sollte.
Wenn Du zB array_map nicht kennst/verstehst, sollst Du bei http://www.php.net/manual/de eben diesen Funktionsnamen im Suchfeld eingeben und abschicken.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Kategoriedaten rekursiv in Array bringen Schiedsrichter PHP Tipps 2008 2 10.12.2007 15:43
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Verschachteltes Array: Daten auswählen horstenpeter PHP Tipps 2006 8 14.03.2006 00:12
Problem mit array in Datenbank pixelcut PHP-Fortgeschrittene 3 28.02.2006 18:20
Bilder aus Datenbank - Array auswählen und anzeigen horstenpeter PHP Tipps 2006 6 22.01.2006 21:11
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
eMails abrufen und in Datenbank speichern mrcoffe Beitragsarchiv 7 25.11.2005 13:44
array in datenbank und zurück auchegal PHP Tipps 2007 1 13.11.2005 21:25
Besser Programmieren (!?) PHP Tipps 2005 12 04.05.2005 20:46
Was ist schnelle: Array oder Datenbank? CSS PHP Tipps 2005 4 15.03.2005 17:50
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30
Mehrere Daten aus Datenbank in einen Array legen?!? PHP Tipps 2004 16 17.08.2004 00:53
assoziatives Array aus 2 Spalten aus Mysql-Tabelle PHP Tipps 2004 2 14.06.2004 13:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array erzeugen und abrufen, $_post array in datenbank mehrfachauswahl, mehfachauswahl in der datenbank wher intval, anzeigen loadobjectlist(), mehrfachauswahl checkbox in datenbank speichern und dann ausgeben, datenbank abrufen per arrays, datenbank array in einem formular anzeigen, array aus datenbank bilden, array_map php baumstruktur, bilder datenbank abrufen per array php, bilder datenbank abrufen php, formular array keine auswahl, string array abrufen, bilder aus array abrufen, in einer funtkion alle daten einer datenbank abrufen, arraydatenbank, abruf array, bilder aus datenbank abrufen, php formular array an datenbank

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.