php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.09.2005, 14:56  
Gast
 
Beiträge: n/a
Standard Teile der Suchanweisung werden ignoriert

Hallo,
und das nächste Problem.

Ich habe mit einsatz von RegEXp mal dieersten Schritte meiner suche gebastelt.
funktioniert soweit auch ganz gut, nur leider wird meine neue Erweiterung komplett ignoriert.

Der User definiert mittels 4 checkboxen welchen Artikelstatus (von 4 möglichen) er sehen will.

Mir kommt es so vor als ob mein erstes Statement in der WHERE-Anweisung komplett ignoriert wird.

bin mir leider nicht sicher woher dieserFehler kommt.
die reine Idee geht innerhalb der MySQL konsole, d.h. irgendwo is meine umsetzung im PHP code buggy.

Sprich: jederArtikel der dme Suchbegriff entspricht wird dargestellt, egal ob Stati 1, 2,3, oder 4

ich seh das problem hier:
--
WHERE ".$stati." REGEXP KIS_status_status_id AND
--> wird ignoriert, warum auch immer
--




hier mal der Code

PHP-Code:
<?php
    
echo "<h2>SUCHE:</h2>\n";
    
// ----------------------------------------------------------------------------------------------
    //    PART 1 - Einfache Suche
    

    
echo "<html>";
        echo 
"<form method='post'>";
            echo 
"<table width='700' border='0' cellpadding='2' cellspacing='1' align='left'>";
                echo 
"<tr>";
                    echo 
"<td width='50'></td>";
                    echo 
"<td width='250'>[b]Einfache Suche[/b]</td>";
                    echo 
"<td width='200'></td>";
                    echo 
"<td width='200'></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td></td>";
                    echo 
"<td><input size='30' name='suchbegriff_1' type='text'></td>";
                    echo 
"<td></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td></td>";
                    echo 
"<td></td>";
                    echo 
"<td></td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                
//Den Status auch in der einfachen Suche einbinden
                
echo "<tr>";
                    echo 
"<td></td>";
                    echo 
"<td><input type='checkbox' name='status10' value='B' checked='checked'>in Betrieb</td>";
                    echo 
"<td><input type='checkbox' name='status11' value='R' checked='checked'>in Reparatur</td>";
                    echo 
"<td></td>";
                echo 
"</tr>";
                echo 
"<tr>";
                    echo 
"<td></td>";
                    echo 
"<td><input type='checkbox' name='status12' value='A' checked='checked'> Ausschlachten</td>";
                    echo 
"<td><input type='checkbox' name='status13' value='S'> wurde verschrottet</td>";
                    echo 
"<td>
                                <input name='save1'     type='submit'      value='GO'>
                                <input name='reset1'    type='reset'         value='Reset'>
                            </td>"
;
                echo 
"</tr>";
            echo 
"</table>";
    echo 
"</html>";
    

    if(isset(
$_POST['save1']))
    {
        
// Textfeld für Artikel-Bezeichnung
       
$suchbegriff         =    $_POST['suchbegriff_1'];
       
//
       
if(!get_magic_quotes_gpc())
       {   
           
$suchbegriff        =    addslashes($suchbegriff);    
       }
        
//
        // Überprüfung ob ein Suchbegriff eingegeben wurde
        
if(empty($suchbegriff))
        {    
            die(
"Zur erfolgreichen Suche ist ein Suchbegriff notwendig :)"); 
        }
        
//Suchbegriff wurde eingegeben
        
else
        {
            
//check status boxen
            
$stati "";
            if (isset(
$_POST['status10']))  {$stati $stati."0";}
            if (isset(
$_POST['status11']))  {$stati $stati."1";}
            if (isset(
$_POST['status12']))  {$stati $stati."2";}
            if (isset(
$_POST['status13']))  {$stati $stati."3";}
           
// Statis ausgeben
           
echo "Suche in folgenden Stati: ".$stati;
           
//             
            //Stati/Regexp FUNKTIONIERT unter MySQL: 
            //PUR SQL:     select artikel_inv_nummer,KIS_status_status_id  
            //                from KIS_artikel 
            //                where '123'  REGEXP KIS_status_status_id;

            
$query "     SELECT      
                                        artikel_inv_nummer, 
                                        artikel_bezeichnung, 
                                        artikel_notiz, 
                                        artikel_datev_nummer, 
                                        artikel_einkaufspreis,
                                        KIS_status_status_id
                           FROM      KIS_artikel
                           WHERE        "
.$stati." REGEXP KIS_status_status_id AND

                                       artikel_inv_nummer         REGEXP     '$suchbegriff' OR
                                       artikel_bezeichnung         REGEXP     '$suchbegriff' OR
                                       artikel_notiz                 REGEXP     '$suchbegriff' OR
                                       artikel_datev_nummer     REGEXP     '$suchbegriff' OR
                                       artikel_einkaufspreis     REGEXP     '$suchbegriff' "
;
                                       
                                       
                                       
//'$stati'    REGEXP     KIS_status_status_id AND

                                       //
                                       //    SIEHE SUCHE_PDF.PHP
                                       // zum abschluss mit AND
                                       // Status eingeziehen
                                       //
                                       
                                       
           //Query auffangen
            
$result mysql_query($query);
            
//
            //need more space
            
echo "

"
;
            
//    
            // Wieviele Treffer sind es ?
            
$num mysql_numrows($result);
            
//    
            //Die DB suche hat Treffer
            
if ($num 0)
            {
                echo 
"





Es wurde/n $num Zeile/n aus der Datenbank selektiert
<hr>"
;
                
// Query  als Table ausgeben ausgeben
                
echo "<table width='700' border='0' cellpadding='2' cellspacing='1' align='left'>";
                echo 
"<tr>
                            <th align='left'>Artikel</th>
                            <th align='left'>Bezeichnung</th>
                            <th align='left'>Notiz</th>
                            <th align='left'>DatevNr.</th>
                            <th align='left'>Preis</th>
                            <th align='left'>Status</th></tr>"
;
                while(
$row mysql_fetch_array($resultMYSQL_ASSOC))
                {
                   echo 
"<tr>    <td>{$row['artikel_inv_nummer']}</td>
                                   <td>{$row['artikel_bezeichnung']}</td>
                                   <td>{$row['artikel_notiz']}</td>
                                   <td>{$row['artikel_datev_nummer']}</td>
                                   <td>{$row['artikel_einkaufspreis']}</td>
                                   <td>{$row['KIS_status_status_id']}</td>
                           </tr>
"
;
                }
                echo 
"</table>





"
;
                
//
                // Wir machen einen Link zur PDF-Erstellung 
                // Variablen Übergabe geht aktuell nur bei GLOBALS ON, muss ich fixen
                
echo "
Klicken Sie <a href='suche_pdf.php?suchbegriff=$suchbegriff' target='_new'>HIER<a> um die Liste als PDF zu erhalten.
<hr>"
;        
            }
            
// wir haben keine Treffer in der DB-Suche
            
else
            {
                echo 
"





Keine Treffer gefunden, bitte versuchen Sie einen anderen Suchbegriff."
;
            }    
        }                                      
    }    
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.09.2005, 16:36  
Gast
 
Beiträge: n/a
Standard

nochmal ich:

also entweder
- ich versteh kein SQL oder
- SQL handelt AND/OR sehr sehr merkwürdig.


Das Handling, bzw der Einbezug von meinem Status fukntioert, solange ich die WHERE condition nicht mit übermässig vielen OR's aufblase.

SPRICH:

vorher: Ausgabe hat Status nicht einbezogen:
PHP-Code:
<?php
 WHERE      
".$stati." REGEXP KIS_status_status_id AND

                              
artikel_inv_nummer       REGEXP    '$suchbegriff' OR
                              
artikel_bezeichnung       REGEXP    '$suchbegriff' OR
                              
artikel_notiz             REGEXP    '$suchbegriff' OR
                              
artikel_datev_nummer    REGEXP    '$suchbegriff' OR
                              
artikel_einkaufspreis    REGEXP    '$suchbegriff' "; 
?>

jetzt: Stati wird einbezogen:
PHP-Code:
<?php
WHERE        
                                           
".$stati."                                     REGEXP     KIS_artikel.KIS_status_status_id AND
                                           
KIS_artikel.artikel_bezeichnung         REGEXP     '$suchbegriff' OR
                                           
KIS_artikel.artikel_inv_nummer         REGEXP   '$suchbegriff' ";
// Sobald ich mehrere REGEXP mit OR einbinde wie aktuell wird der Status ignoriert
// DAS MACHT SO KEINEN SINN
?>

Kann mir das jmd erklären, oder ist das evlt nur ein Nebeneffekt eines anderen Fehlers ?


gruss
fidel_
 
 


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
einzelne Teile aus HTML includieren mibmib PHP Tipps 2008 4 03.04.2008 11:55
flush wird ignoriert md5hash PHP Tipps 2006 5 13.08.2006 14:04
Teile von Strings extrahieren seven-12 PHP Tipps 2006 13 19.04.2006 18:22
width wer wird ignoriert... BEGINNER-L HTML, Usability und Barrierefreiheit 4 28.02.2006 11:19
Apache Windows - php.ini memory_limit wird ignoriert DonTermi Server, Hosting und Workstations 3 26.01.2006 07:53
[Erledigt] möchte eine Webseite in 3 Teile teilen HTML, Usability und Barrierefreiheit 9 11.11.2005 22:33
Verkaufe Teile meines Bg´s sense Beitragsarchiv 3 01.10.2005 15:31
XML ignoriert Entitäten stefanjann PHP-Fortgeschrittene 1 11.08.2005 20:03
Schleifen werden ignoriert PHP Tipps 2005-2 12 21.06.2005 20:03
[Erledigt] Hilfe! If Tags werden Ignoriert PHP Tipps 2005 10 16.05.2005 10:16
[Gelöst] übergebene Variable wird ignoriert PHP Tipps 2005 21 12.05.2005 08:56
[Erledigt] WHERE Abfrage wird ignoriert Datenbanken 1 22.02.2005 21:19
memory_limit wird plötzlich ignoriert PHP Tipps 2005 3 28.01.2005 18:14
teile einer datei auslesen Fraylman PHP Tipps 2004-2 3 09.12.2004 08:32
.htaccess wird ignoriert PHS PHP Tipps 2004 5 05.09.2004 15:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ignoriert /tr, suchanweisung, php suchanweisung und, artikel_bezeichnung{$i}, suchanweisung php

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:25 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.