SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.09.2010, 18:32:45
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
Mysql Suche mit LIKE darf nicht leer sein

Hallo liebe Gemeinde,

ich hätte da eine Frage in Bezug auf die Suche in MySQL mit der Funktion LIKE.

Und zwar folgendes Problem: Ich habe mittels des nachstehenden Codes ein Suchabfrage definiert, welche auch funktioniert. Mein Problem ist wenn man in das Suchfeld keinen Wert eingibt (es also leer bleibt), dass dann der gesamte Inhalt der Datenbank ausgegeben wird. Wie kann ich dies verhindern?

Hier mal der Code:

PHP-Code:
<?php
    
include("dbconnect.php");
?>

<?php

$varPLZ 
$_GET[cPLZ];


 
$sql mysql_query("SELECT name, strasse, PLZ, Ort, vertrag FROM haendlerverzeichnis WHERE PLZ LIKE '".$varPLZ."%'");                            

if (
mysql_num_rows($sql) == 0// Exits if your db table is empty
{
  echo 
'Es wurden keine passenden Daten gefunden';
  exit;
}
else
{

  while(
$row mysql_fetch_assoc($sql))
  
          {

            echo 
$row["name"]." <br />";
            echo 
$row["strasse"].", <br />";
            echo 
$row["PLZ"]." <br />";
            echo 
$row["Ort"]." <br />";
    echo 
$row["vertrag"]." <br /><br />";
            
          }

}
mysql_close($db);

?>
Ziehl ist es das mindestens eine belibige Zahl in dem Suchfeld stehen soll oder ansonsten keine Abfrage stattfindet
Mit Zitat antworten
  #2  
Alt 10.09.2010, 18:37:59
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mysql Suche mit LIKE darf nicht leer sein

Warm lässt du bei leerem Feld die Suche überhaupt durchführen?
Mit Zitat antworten
  #3  
Alt 10.09.2010, 18:42:41
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
AW: Mysql Suche mit LIKE darf nicht leer sein

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Warm lässt du bei leerem Feld die Suche überhaupt durchführen?
Ähm Hallo genau das will ich ja verhindern aber weis nicht wie oder wo der fehler liegt?
Mit Zitat antworten
  #4  
Alt 10.09.2010, 18:44:09
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mysql Suche mit LIKE darf nicht leer sein

http://www.php.net/manual/de/control-structures.if.php
http://de.php.net/manual/de/function.empty.php
Mit Zitat antworten
  #5  
Alt 10.09.2010, 19:03:43
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
AW: Mysql Suche mit LIKE darf nicht leer sein

Hallo Kollege,

empty ist mir als Funktion bekannt, ist aber nicht das was ich möchte.

Vielmehr wäre es mir liber wenn ich direkt im String sagen könnte das, das feld nicht leer sein soll, weil später noch ein zweites suchfeld hinzu kommt so das man nach ort und/oder PLZ suchen kann.

Gibt es nichts in der Form:

PHP-Code:
$sql mysql_query("SELECT name, strasse, PLZ, Ort, vertrag FROM haendlerverzeichnis WHERE PLZ LIKE '".$varPLZ."%'"); 
und görßer als null bzw. größer als keine eingabe.



Ich weis das sich das b.. anhört :-)
Mit Zitat antworten
  #6  
Alt 10.09.2010, 19:18:44
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mysql Suche mit LIKE darf nicht leer sein

Und wenn noch hunderte weitere Bedingungen dazu kommen....

Also nochmal:
Zitat:
Warum lässt du bei leerem Feld die Suche überhaupt durchführen?
Oder etwas anders:
Warum willst du die PLZ Suche in das SQL Statement aufnehmen, wenn du doch gar nicht danach suchen kannst, weil keine eingegeben wurde?
Mit Zitat antworten
  #7  
Alt 10.09.2010, 19:33:08
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
AW: Mysql Suche mit LIKE darf nicht leer sein

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Und wenn noch hunderte weitere Bedingungen dazu kommen....

Also nochmal:


Oder etwas anders:
Warum willst du die PLZ Suche in das SQL Statement aufnehmen, wenn du doch gar nicht danach suchen kannst, weil keine eingegeben wurde?

Ich hoffe wir reden nicht an einander vorbei. Also folgendes ich hab ja das Problem weil der User nicht nur nach der PLZ suchen kann sondern und/oder auch nach dem Ort. Ich poste dir mal den gesamten code. Mein Problem mit emty ist, das er wenn das eine Suchfeld leer ist er dann ja auch nicht das zweite suchfeld mehr abfragt.

PHP-Code:
<?php

$varPLZ 
$_GET[cPLZ];
$varORT $_GET[cOrt];

 
                            
$sql mysql_query("SELECT name, strasse, PLZ, Ort, vertrag FROM haendlerverzeichnis WHERE PLZ LIKE '".$varPLZ."%' or Ort LIKE '".$varORT."%'");





  while(
$row mysql_fetch_assoc($sql))
  
          {

            echo 
$row["name"]." <br />";
            echo 
$row["strasse"].", <br />";
            echo 
$row["PLZ"]." <br />";
            echo 
$row["Ort"]." <br />";
            echo 
$row["vertrag"]." <br /><br />";
            
          }


mysql_close($db);

?>

<a href="suchen.html">zurück zur Suche</a>
Wie du siehst werden zwei dinge gleichzeitig abgefragt und wenn dann einf feld leer ist ...

.$varORT."%' durch das % Zeichen habe ich zumindest erreicht, dass man nicht den vollständigen wert in der suche angeben muss. Aber es muss doch möglich sein dem mit nem kurzen Befehl (ohne große Schleife zu sagen das da wenigestens ne eingabe drin sein muss.

Bitte gib mir mehr als ein link Danke!!!
Mit Zitat antworten
  #8  
Alt 10.09.2010, 19:54:32
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mysql Suche mit LIKE darf nicht leer sein

Zitat:
Mein Problem mit emty ist, das er wenn das eine Suchfeld leer ist er dann ja auch nicht das zweite suchfeld mehr abfragt.
Dann machst du was falsch!!!


Zitat:
Wie du siehst werden zwei dinge gleichzeitig abgefragt und wenn dann einf feld leer ist ...
Und?
Warum machst du den Blödsinn auch, wenn du doch genau weißt, dass du das gar nicht willst?

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors'TRUE);


// mysql Verbindung herstellen

$whereteil = array();

if(!empty(
$_GET['cPLZ']))
{
  
$varPLZ mysql_real_escape_string($_GET['cPLZ']); 
  
$whereteil[] = "PLZ LIKE '$varPLZ%'";
}

if(!empty(
$_GET['cOrt']))
{
  
$varORT mysql_real_escape_string($_GET['cOrt']); 
  
$whereteil[] = "Ort LIKE '$varORT%'";
}

if(
$whereteil$whereteil " WHERE "implode(' OR ',$whereteil);


$sql =  "SELECT name, strasse, PLZ, Ort, vertrag 
          FROM haendlerverzeichnis 
          $whereteil "
;
                             
$result mysql_query($sql) or die(mysql_error()); 

while(
$row mysql_fetch_assoc($result)) 

  echo 
$row["name"]." <br />"
  echo 
$row["strasse"].", <br />"
  echo 
$row["PLZ"]." <br />"
  echo 
$row["Ort"]." <br />"
  echo 
$row["vertrag"]." <br /><br />"



 
// mysql_close($db); // weglassen!! 

?> 

<a href="suchen.html">zurück zur Suche</a>
Mit Zitat antworten
  #9  
Alt 10.09.2010, 20:12:44
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
AW: Mysql Suche mit LIKE darf nicht leer sein

Du bist mein Held!!!!

DANKE!!!!!!!

aber erklärste du mir auch ein wenig davon sonst macht es beim nächten mal keinen sinn Ich bin noch Anfänger und zu folgenden Dinge wäre ne kurze erklärung super ich will es ja lernen nicht nur den Code bekommen.

wozu ist das:

PHP-Code:
error_reporting(-1);
ini_set('display_errors'TRUE); 
Ich habe in meiner dbconnect.php folgendes schon drine.
PHP-Code:
<?php
$db 
mysql_connect("localhost","root","") or die
    (
"Keine Verbindung moeglich");

mysql_select_db("elektrolux") or die
    (
"Die Datenbank existiert nicht.");

?>
Wieso soll ich mysql_close($db); weglassen. Ich habe wärend meines rum bastelns irgendwann mal ne endlos Schleife drine gehabt und bekam vom rechner die meldung nach kein RAM mehr bzw voll und dann ist er abgestürzt und ich dachte damit kann ich das verhindern.
Mit Zitat antworten
  #10  
Alt 10.09.2010, 20:48:24
MrFlodder MrFlodder ist offline
Anfänger
 
Registriert seit: Sep 2010
Alter: 44
Beiträge: 6
AW: Mysql Suche mit LIKE darf nicht leer sein

Na jut du hast bestimmt noch mehr zu tun. Ich werd mich wohl noch ne weile belesen müssen. Auf jeden Fall bist du mein neuer bester Freund wie Homer sagen würde. Danke nochmal! Hast es echt drauf!
Mit Zitat antworten
Antwort

Stichworte
mysql suche


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
stored procedure mit like suche baggyownz MySQLi/PDO/(MySQL) 0 08.10.2009 11:52:26
Suche in MySQL Datenbank woobi7738 MySQLi/PDO/(MySQL) 1 16.03.2009 10:40:10
Suche mySQL Funktion A]n[OLIS MySQLi/PDO/(MySQL) 2 27.03.2004 13:24:08
MySQL Like mit Unterscheidung Groß/Kleinschreibung Ben20 PHP für Fortgeschrittene und Experten 7 14.02.2003 16:41:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:54:35 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt