Ergebnis 1 bis 6 von 6

Thema: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

  1. #1
    König(in) Avatar von NyctalusNoctula
    Registriert seit
    07.08.2006
    Beiträge
    1.316
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    Hallo

    Ich möchte eine Datenbankabfrage durchführen, die einer von mehreren in einem array festegelegten Bedingungen genügen soll.
    Das eigentliche Problem hierbei ist, dass der array ganz unterschiedlich lang sein kann, da er auch dynamisch erzeugt wird.
    Das heißt etwas in der Form scheidet aus, da ich nicht weiß wie lang der array ist.
    PHP-Code:
    $ads $mysql->execute('select * from ads where category = ? or category = ? or category = ?'$catids)); 
    Wenn ich folgendes versuche, bekomme ich immer nur 1 Ergebnis:
    PHP-Code:
    foreach ($subcategories as $subcat) {
                    
    $ads $mysql->execute('select * from ads where category = ?', array($subcat['id']));
                } 
    Ist eigentlich auch logisch, da ich nur auf das erste Ergebnis zugreifen kann.

    Dann habe ich folgendes versucht, allerdings auch ohne Erfolg.
    PHP-Code:
    foreach ($subcategories as $subcat) {
                    
    $ads[] = $mysql->execute('select * from ads where category = ?', array($subcat['id']));
                }

    ...

    $i 0;
    foreach (
    $ads as $ad) {
            
    $i $i 1;
            echo 
    $ad[$i]['title'];

    Es kommt dieser Fehler, oder es wird nur eine leere Seite angezeigt
    Notice: Undefined offset: 1 ...
    Was mache ich falsch?
    Was ist die beste Möglichkeit das Problem zu lösen?

    Gruß NN
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von NyctalusNoctula (11.12.2008 um 21:21 Uhr)

  2. #2
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    Schreib
    PHP-Code:
    $i $i 1
    in die Zeile dahinter (hinter dem echo)

  3. #3
    König(in)
    Themenstarter
    Avatar von NyctalusNoctula
    Registriert seit
    07.08.2006
    Beiträge
    1.316
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    waaaaaaaaaaaaaah

    oh mann bin ich dumm.
    Irgendwie bin ich davon ausgegangen, dass ein array bei 1 beginnt. Hätt ich auch selber drauf kommen können.

    Danke jedenfalls!

  4. #4
    Bandit
    Gast

    Standard AW: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    Aua, da wird ja 'zig mal auf die DB gefeuert!
    PHP-Code:
    <?
      
    function prepareCondition(&$item$key$prefix
      {
        
    $item "$prefix='" mysql_real_escape_string($item) . "'";
      }
      
    $data = array ("txt1""txt2""txt3""txt4""txt5");
     
      
    array_walk($data"prepareCondition""category");
     
      
    $query "Select
                 a,
                 b,
                 c
                from
                 tabelle
                where " 
    implode (" or "$data);
     
      echo 
    $query;
    ?>
    Warum soll ich nicht SELECT * schreiben?
    http://php.faq-page.net/q-sql-select.html

  5. #5
    König(in)
    Themenstarter
    Avatar von NyctalusNoctula
    Registriert seit
    07.08.2006
    Beiträge
    1.316
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    ok, es werden aber tatsächlich alle Spalten benötigt!
    Warum es Probleme geben soll, wenn sich die Reihenfolge ändert verstehe ich nicht.

    Was willst du denn mit deinem Code sagen? Soll ich die query besser dynamisch zusammensetzen?
    Im worst case Fall werden 10 Anfragen durchgeführt.

  6. #6
    Bandit
    Gast

    Standard AW: Mehrere Bedingungen bei Datenbankabfrage, die in einem array stehen

    Zitat Zitat von NyctalusNoctula Beitrag anzeigen
    ok, es werden aber tatsächlich alle Spalten benötigt!
    Du hast die FAQ nicht verstanden.
    Zitat Zitat von NyctalusNoctula Beitrag anzeigen
    Was willst du denn mit deinem Code sagen? Soll ich die query besser dynamisch zusammensetzen?
    Nein, ich will damit sagen, dass es prima ist, den DB-Server in einen Toaster umzuwandeln und ihn mit völlig unnötigen Abfragen zu bombadieren. Und wenn du mal mein Script ausprobiert hättest, wäre dir aufgefallen, dass es bei dem Script wurscht ist, wieviele Daten in dem Array stehen und das die Abfrage dynamisch zusammengebaut wird, und das mit sehr einfachen Mitteln.

Ähnliche Themen

  1. array in einem struct
    Von danhof im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 28.04.2008, 20:49
  2. mehrere <td> in einem <td> ?!
    Von Gast im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 02.11.2006, 16:37
  3. input value einem Array geben
    Von Mitti im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 23.06.2006, 17:18
  4. eine Id einem Array geben
    Von Mitti im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 23.06.2006, 16:45
  5. Mehrere Datensätze ändern / löschen mit ARRAY
    Von brauche ARRAY HILFE im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 06.06.2006, 11:39

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •