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 ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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 > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.11.2002, 10:08:07
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Nur einen Datensatz anzeigen

Hallo zusammen,

bin noch sehr neu.....

ich versuche eine Abfrage an die Datenbank zu senden. Ich glaube aber das ich auf dem Holzweg bin.

Also, das ist die Abfrage:

<FORM ACTION="test.php" METHOD=POST>
Test<INPUT Titel="suchen" TYPE=TEXT SIZE="20" MAXLENGTH="80"><br><br>

</SELECT><br><br>
<INPUT VALUE="Formular abschicken" TYPE=SUBMIT><INPUT VALUE="Formular löschen" TYPE=RESET>
</form>


und das soll die Ausgabe werden

<?

include("config.php");

mysql_connect($db_host,$db_user,$db_pass) || die("Could not contact mySQL!");
mysql_select_db($db_db) || die("Connected mySQL, but database is unavailable!");

session_start();
$result = mysql_query("SELECT DISTINCT * FROM addresses WHERE betriebsnummer LIKE '%$suchstr%' ");

while($zeile=mysql_fetch_array($result))
{
for($i=0;$i<12;$i++)
{
echo $zeile[$i]."<br>";
}
}

mysql_free_result($result);


?>


Mein Problem... es werden immer alle Datensätze angezeigt.
Am liebsten wäre es mir wenn einfach nur ein Text angezeigt wird, nicht mal der Datensatz selber.
Zum Beispiel "Datensatz existiert" oder "Datensatz existiert nicht"

vielleicht hat jemand eine Idee die auch ein Neuling umsetzen kann.

Vielen Dank

Hanna
Mit Zitat antworten
  #2  
Alt 27.11.2002, 11:47:57
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
na hanna dann mal los.
Code:
$result = mysql_query("SELECT * FROM addresses WHERE betriebsnummer LIKE ('%$suchstr%')"); 
if(mysql_num_rows($result) > 0){
 echo "datensatz gefunden.";
} 

ein datensatz anzeigen:
$result = mysql_query("SELECT * FROM addresses WHERE betriebsnummer LIKE ('%$suchstr%') limit 1");
es sollte klar sein, das eine for schleife immer durchlaufen wird ;)

deine betriebsnummer sollte vielleicht eindeutig sein, somit könntest where betriebsnummer = xxx abfragen und brauchst like nicht zu nutzen. bei deiner jetzigen abfrage tauchen auch ähnlich betriebsnummern auf.

die ausgabe des resultats machst du dann bitte so:
Code:
while($zeile=mysql_fetch_array($result)){ 
echo $zeile['spaltenname_der_mysql_db']."<br />"; 
}
ansonsten wenn du die spalten über nummern ansprechen willst musst du
Code:
while($zeile=mysql_fetch_row($result)){ 
 echo $zeile[0]."<br />";
}

Geändert von MiH (27.11.2002 um 11:51:45 Uhr)
Mit Zitat antworten
  #3  
Alt 27.11.2002, 12:09:06
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Hallo,

danke für Deine schnelle Antwort.


Habe es so ausprobiert, aber....
Jetzt sagt er immer "Datensatz gefunden" egal was ich eingebe.
und gibt alle resultate aus...

habe Deine erste Ausgabevariante eingesetzt

beim testen mit der zweiten gibt er wiederum alle Datensätze aus, aber dann halt als Aufzählung.

ich würde sagen das ist schon fast so wie es laufen soll...

wie schafft man es das nur DER datensatz ausgegeben wird den man auch sucht?

Bzw. Ich möchte ja nur wissen ist er schon angelegt oder nicht.


Gruß Hanna
Mit Zitat antworten
  #4  
Alt 27.11.2002, 12:16:51
markus.thiede markus.thiede ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Köln
Alter: 41
Beiträge: 112
markus.thiede eine Nachricht über ICQ schicken
Probiers mal so.

Formular:
-------------------------------------------------------------------------
Code:
<html>
<head>
<title></title>
<meta name="author" content="f982663">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#FFFFFF" bgcolor="#000080" link="#FFFFFF" alink="#C0C0C0" vlink="#C0C0C0">
<form action="test.php" method="post" target="_blank">
<div align="center">
<input type="Text" name="suchen" size="20" maxlength="80">
<input type="Submit" value="OK">
</div>
</form>
</body>
</html>
Script:
----------------------------------------------------------------
Code:
<?

include("config.php");

mysql_connect($db_host,$db_user,$db_pass) or die(mysql_errno() .": ". mysql_error());
mysql_select_db($db_db) or die(mysql_errno() .": ". mysql_error());
$result = mysql_query("SELECT DISTINCT * FROM addresses WHERE betriebsnummer LIKE '$suchen' LIMIT 1",$link);
if($zeile = mysql_array($result,MYSQL_NUM))
  {
     printf("<h2 align="center">Datensatz %s ist vorhanden.</h2>n",$zeile[0]);
  }
else
  {
     printf("<h2 align="center">>Datensatz %s ist nicht vorhanden.</h2>n",$suchen);
  }
mysql_free_result($result);
?>
__________________
Ein Programm schreibt man um ein
Problem zu lösen nur leider erhält
man mit jedem Program ein neues
Problem!

Mit Zitat antworten
  #5  
Alt 27.11.2002, 12:41:44
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
hm.... bekomme diesen Fehler bei Deiner Version


Warning: Supplied argument is not a valid MySQL-Link resource in /var/www/html/arbeitsamt/testumgebung/test.php on line 7

Fatal error: Call to undefined function: mysql_array() in /var/www/html/arbeitsamt/testumgebung/test.php on line 8

: ( ... liegt das vielleicht an mir?

Gruß Hanna
Mit Zitat antworten
  #6  
Alt 27.11.2002, 13:33:34
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
naja wenn er anzeigt das was da ist, ist es ja ok. sofern stimmt deine mysql abfrage nicht oder? er liefert ja immer einen treffer.

wenn er bei limit 1 alle anzeigt ist was falsch.
bitte poste mal deinen query!

zu markus version.
es muss mysql_fetch_array() heissen und nicht mysql_array.
Mit Zitat antworten
  #7  
Alt 27.11.2002, 13:44:28
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Hallo,

ich habe jetzt die Version von Markus auf mysql_fetch_array abgeändert und bekomme nun folgende Fehlermeldung.
_____________________________________________
Warning: Supplied argument is not a valid MySQL-Link resource in /var/www/html/arbeitsamt/testumgebung/test.php on line 7

Warning: Supplied argument is not a valid MySQL result resource in /var/www/html/arbeitsamt/testumgebung/test.php on line 8

Datensatz 1234567899987 ist nicht vorhanden.

Warning: Supplied argument is not a valid MySQL result resource in /var/www/html/arbeitsamt/testumgebung/test.php on line 16
_______________________________________________

was mich aber in zweifacher hinsicht irritiert....
erstens mehr fehler als vorher : )
und zweitens, der Datensatz 1234567899987 ist vorhanden!

...was meinst Du mit "bitte poste mal deinen query" genau...?
bin wirklich noch sehr unbedarft ..... ; )

Gruß Hanna
Mit Zitat antworten
  #8  
Alt 27.11.2002, 14:03:25
markus.thiede markus.thiede ist offline
Anfänger
 
Registriert seit: Jun 2002
Ort: Köln
Alter: 41
Beiträge: 112
markus.thiede eine Nachricht über ICQ schicken
Ändere doch bitte folgende zeile mal:
mysql_connect(...);
in $link = mysql_connect(...);
und füge ein mysql_close($link); am ende des Skripts ein.
__________________
Ein Programm schreibt man um ein
Problem zu lösen nur leider erhält
man mit jedem Program ein neues
Problem!


Geändert von markus.thiede (27.11.2002 um 14:08:43 Uhr)
Mit Zitat antworten
  #9  
Alt 27.11.2002, 14:11:06
Hanna Hanna ist offline
Anfänger
 
Registriert seit: Nov 2002
Beiträge: 80
Weltklasse ..... das funktioniert!

ich werde jetzt mal einige testläufe machen um zu sehen ob noch fehler auftreten und gebe dann noch mal bescheid.
Herzlichen Dank an euch beide.
Ihr habt mir sehr geholfen.

Vile Grüße Hanna
Mit Zitat antworten
  #10  
Alt 27.11.2002, 16:58:11
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
mysql_close($linkid) muss nicht sein, da das script automatisch bei beenden die mysql verbindung killt, sofern es keine persistente verbindung ist.

das nur so am rande ;)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31:39 Uhr.


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


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