Mailinglisten-Archive |
Hi Daniel, >Morgen, >ich hab ein Problem mit der "like"-Bedingung beim Abfragen einer Tabelle. >(An dieser Stelle sei angemerkt, dass ich wiedereinmal merke, dass mein Buch >nur hinlänglich >befriedigend ist) >SELECT * FROM db WHERE * LIKE '%$searchquery%' >bringt mich leider nicht dazu, dass er alle spalten durchsucht. Wie auch, denke nur mal an die verschiedenen Formate (date, datetime, timestamp, int....) >Koehntopp brachte den hinweiss, dass man jedoch alle spalten explizit mit "or >spaltenname...." >angeben muss, so dass beim hinzufügen einer spalte auch die select-anweisung >manuell erweitert >werden muss. So ist es und bleibt es. >GIbt es auch eine möglichkeit mit einer einzigen anfrage alle vorkommenden >spalten/Zellen zu >durchsuchen ohne vorher zu wissen wie viele es sind bzw. wie diese heissen? Da wird dir wohl nichts anderes übrigbleiben eine eigene Funktion zu schreiben die folgendes erledigt: 1. Feldnamen auslesen (mysql_list_fields) 2. Feldtyp ermitteln (mysql_field_type); 3. Query mit gültigen Feldtypen zusammenbasteln 4. Query zurückgeben Dann musst du nur noch deine Query ausführen. MFG Wolfgang
php::bar PHP Wiki - Listenarchive