"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

mysql werte auslesen ?!

bBU.CyTrobIc 12.11.2003 - 22:03 1673 30
Posts

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
moin ich ma wieder :)

Frage:

Code: PHP
	$connection = @mysql_connect($db_host,$db_user,$db_pw) or die("Datenbankfehler - keine Verbindung möglich.");
	mysql_select_db($db_db);


	$tabelle = "ansprechpartner";
	$sql = "SELECT * FROM $tabelle WHERE ";

	$i = 0;

	if($x_name != ""){	if($i <= 0){ $sql.="NAME LIKE ".$x_name;		$i++;	} else {   $sql.=" OR NAME LIKE ".$x_name;			$i++;	}}
	if($x_nach != ""){	if($i <= 0){ $sql.="NACHNAME LIKE ".$x_nach;		$i++;	} else {   $sql.=" OR NACHNAME LIKE ".$x_nach;			$i++;	}}
	if($x_zust != ""){	if($i <= 0){ $sql.="ZUSTÄNDIG LIKE ".$x_zust;		$i++;	} else {   $sql.=" OR ZUSTÄNDIG LIKE ".$x_zust;			$i++;	}}
	if($x_stand != ""){	if($i <= 0){ $sql.="STANDORT LIKE ".$x_stand;		$i++;	} else {   $sql.=" OR STANDORT LIKE ".$x_stand;			$i++;	}}
	if($x_telnr != ""){	if($i <= 0){ $sql.="TEL LIKE ".$x_telnr;		$i++;	} else {   $sql.=" OR TEL LIKE ".$x_telnr;			$i++;	}}
	if($x_faxnr != ""){	if($i <= 0){ $sql.="FAX LIKE ".$x_faxnr;		$i++;	} else {   $sql.=" OR FAX LIKE ".$x_faxnr;			$i++;	}}
	if($x_geheim != ""){	if($i <= 0){ $sql.="GEHEIMNUMMER LIKE ".$x_geheim;	$i++;	} else {   $sql.=" OR GEHEIMNUMMER LIKE ".$x_geheim;		$i++;	}}
	if($x_gruppe != ""){	if($i <= 0){ $sql.="GRUPPE LIKE ".$x_gruppe;		$i++;	} else {   $sql.=" OR GRUPPE LIKE ".$x_gruppe;			$i++;	}}

	if($i != 0){	echo("<font face=\"verdana\" size=\"2\">$sql</font>");	} else { echo("<center><font face=\"verdana\" size=\"2\">Es wurde kein Suchbegriff eingegeben.</font></center>");	}

	$r_sql = mysql_query($sql,$connection);

	while($row = mysql_fetch_array($r_sql)){
		echo $row["name"];
		echo("<br>");
	}

	mysql_close($connection);

geht nicht er sagt dann immer:

Code: PHP
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/v038580/arbeit/sqlsuche.php on line 41

kann mir jemand sagen wie ich die suchergebnisse richtig sortiere und ausgeben kann ? Ok ich weiss der Programmierstyl is nicht der beste aber erfüllt seinen zweck *gg* :)

THX !!!

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
arg.. überdenk den stil wirklich, der is ja grauenhaft :)

versuch mal mysql_query(..) or die(mysql_error()) und schau mal welchen fehler er dir ausgibt.

manalishi

tl;dr
Avatar
Registered: Feb 2001
Location: Feldkirch
Posts: 5977
Zitat von mat
arg.. überdenk den stil wirklich, der is ja grauenhaft :)

ack. da kamma meinen code trotz andauerndem fragezeichenoperator und dämlichen operationen schon besser lesen :rolleyes: :D

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Aber wenigstens postet er den Code nicht so, dass man ihn nur auf 3 Bildschirmen nebeneinander ohne Horizontalscrollen lesen kann :)

Das verdient auch ein Lob.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
bin ich zu blöd für... sorry ich check das nich.

ich brauch sone funktion die mir nach dem suchstring $sql,
die daten raussucht und nach einem Wert sortiert.

*?* bin echt planlos im moment

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
versuchs mal so:

Code: PHP
$sql = "";

if ($x_name != "")
{
	if ($sql != "")
		$sql .= " OR ";

	$sql.="NAME LIKE ".$x_name;
}
elseif ...

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
grauenhaft ist kein ausdruck... ev versuchst du ein feld abzurufen das nicht "gefüllt" ist? dann gibts normal so was

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
@mat das funtzt ja soweit, der string wird richtig generiert nur die ausgabe der gefundenen zeilen funtzt nicht so recht:

hier isse: http://www.gerand.net/arbeit

script hier: http://www.gerand.net/arbeit/sql.zip
Bearbeitet von bBU.CyTrobIc am 12.11.2003, 22:33

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
ahh.. ich weiss schon. check vorher mit mysql_num_rows wieviele rückgabewerte du hast. es gibt wahrscheinlich keine.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
wie ? :) sry 4 my doofheit *g*

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Code: PHP
$r_sql = mysql_query(..);

if (!mysql_num_rows($r_sql))
   die("no results!");

while ..

edit: und verwend LIKE nur wenn dus wirklich brauchst! zB Gruppe benötigt kein LIKE usw.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
hab ich eingefügt, er meldet die FM jetzt bei der funktion,... hab ich beim connect vielleicht was falsch gemacht ?

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
ich sag jetzt mal einfach so das deine SQL abfrage gar ned existiert... er fragt ne "line" ab die gar ned da ist... darum kommt die fehlermeldung... check mal obs den eintrag WIRKLICH gibt

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
so jetzt ohne FM aber keine ausgabe ? :/

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
So ! Nun klappts !!! THX EUCH !!! Hat gefuntzt !

1. Frage hab ich aber noch, er gibt mir nur die Datensätze aus nach denen ich suche (also die ich eingebe) er soll aber die ganze zeile sozusagen ausgeben wie mache ich das ?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz