#1 16. April 2007 Daten aus Tabelle suchen? Huhu, Und zwar habe ich folgendes Problem, ich habe die Tabelle Mobel mit den Atributen Artikelnummer, Artikel,Bezeichnung,Farbe und Preis. Ich habe es so vor , das ich mithilfe eines Formulars wo input button drauf sind die tabellen nach den verschiedenen eingaben durchsuche, leider bekomm ich das aber nicht ganz hin , könnte mir jemand helfen? mfg fee + Multi-Zitat Zitieren
#2 16. April 2007 AW: Daten aus Tabelle suchen? http://www.html-world.de/program/mysql_4.php, ganz unten bei den "like" operatoren musst du gucken!! mfg + Multi-Zitat Zitieren
#3 16. April 2007 jau ich werd mal ebend gucken ob ich das damit hinbekomme, aber bewertet wurdest du schon Mhh ich bin noch nicht weiter gekommen bist jetzt hab ich so viel : <?php if(isset($suche)) { include("mysql.php"); mysql_select_db ($mobel); $result = mysql_query (" SELECT * FROM mobel WHERE Artikelnummer = $_GET['Artikelnummer']") or die(mysql_error()); while($row = mysql_fetch_array($result)) { } } ?> <? print" $row[Artikelnummer] "; ?> + Multi-Zitat Zitieren
#4 16. April 2007 AW: Daten aus Tabelle suchen? PHP: <?php if(isset( $suche )) {include( "mysql.php" ); mysql_select_db ( $mobel ); // kennwort, pw??? oder hast du keinst $result = mysql_query ( " SELECT * FROM mobel WHERE Artikelnummer = $_GET [ 'Artikelnummer']" )or die( mysql_error ());while( $row = mysql_fetch_array ( $result )) {print " $row [ Artikelnummer ] " ;}} ?> deine ausgabe musst du in die schleife setzen. oder kommt eine andere fehlermeldung??? ncie day EDIT: vllt hilft der link hier weiter: http://www.phpcenter.de/de-html-manual/function.mysql-fetch-array.html + Multi-Zitat Zitieren
#5 16. April 2007 AW: Daten aus Tabelle suchen? Wir wärs mit: PHP: if(isset( $suche )) { include( 'mysql.php' ); mysql_select_db ( $mobel ); $Artikelnummer = intval ( $_GET [ 'Artikelnummer' ]); // intval = nur Zahlen -> no SQL injection $res = mysql_query ( "SELECT ID,ArtNr,Artikel,Bezeichnung,Farbe,Preis FROM `mobel` WHERE Artikelnummer = $Artikelnummer " ); while( $fetch = mysql_fetch_assoc ( $res )) { foreach( $fetch as $key => $val ) { echo $key . ' -> ' . $val ; // Nur damit du die Variablen siehst... das Foreach kannst du dir dann schenkn, und die Vars per $fetch['ID'] o.ä. abrufen. } }} Oo Wenn du zB nach Bezeichnung suchen lässt, dann kannst du mit der MySQL-Wildcard % arbeiten, zB so: $Bezeichnung = $_POST['bezeichnung']; // escapen, stripslashes, whatever du willst um gegen sql injections vorzugehen. SELECT Bezeichnung FROM `mobel` WHERE Bezeichnung LIKE '%$Bezeichnung%' + Multi-Zitat Zitieren
#6 16. April 2007 AW: Daten aus Tabelle suchen? Ich bekomm gar keine Fehlermeldung, nur leider bekomm ich auch keine Ausgabe + Multi-Zitat Zitieren
#7 16. April 2007 AW: Daten aus Tabelle suchen? Meins probiert? Wenn du keine Fehlermeldung / Ausgabe bekommst gibts keinen Eintrag in der Datenbank. + Multi-Zitat Zitieren
#8 16. April 2007 AW: Daten aus Tabelle suchen? Ich glaub langsam ich bin ein bisschen zu dumm dafür, der zeigt mir immer noch ein leeren weissen bildschirm an :'( Doch doch, ich hab ja schon 2 Formulare wo man daten eintragen und ausgeben kann, da sind daten drin. Ach ja ich bewerte euch einfach schon mal alle + Multi-Zitat Zitieren
#9 16. April 2007 AW: Daten aus Tabelle suchen? @harry1526, jo sollte so funzen versuch noch bei $row[Artikelnummer] das "artikelnummer" in '' zu setzen also $row['Artikelnummer']!! Und wenn du ne art suche haben willst dann machs so : PHP: $result = mysql_query ( " SELECT * FROM `mobel` WHERE `Artikelnummer` LIKE '%" . $_GET [ 'Artikelnummer' ]. "%'" ) mfg + Multi-Zitat Zitieren
#10 16. April 2007 AW: Daten aus Tabelle suchen? Und wieder mal kein ergebniss rausgekommen, ich verzweifle, was kann ich denn falsch machen ??? + Multi-Zitat Zitieren
#11 16. April 2007 AW: Daten aus Tabelle suchen? Also bevor ich hier wie die anderen weiterspamme ... würd ich persönlich erstmal gern die Datenbanktabelle sehen, denn dann kann dir definitiv geholfen werden und wenn es danach immernoch nicht klappt, ist kein datensatz vorhanden. + Multi-Zitat Zitieren
#12 16. April 2007 AW: Daten aus Tabelle suchen? Hier ich hab mal ein screen von PHP my admin gemacht. hoffe du kannst mir helfen. Download offline! + Multi-Zitat Zitieren
#13 16. April 2007 AW: Daten aus Tabelle suchen? Deine ArtikelNUMMER ist ein varchar(25), was nicht unbedingt vorteilhaft ist. Mach ein int draus und es sollte passen. + Multi-Zitat Zitieren
#14 16. April 2007 AW: Daten aus Tabelle suchen? neläuft leider immer noch nicht + Multi-Zitat Zitieren
#15 16. April 2007 AW: Daten aus Tabelle suchen? Nochmal ein grosse dank an alle, jetzt hab ich es , ich hatte den Submitbutton doppelt, da is der irgendwie durcheinander gekommen mfg SyRap + Multi-Zitat Zitieren
#16 16. April 2007 AW: Daten aus Tabelle suchen? 1. Also Artikelnummer muss ID werden wenn es nur Zahlen sind, ansonsten muss es ein anderer Datentyp sein. 2. Das hier nun schon öfter genannte fetch_array ist doch Mist in diesem Zusammenhang. 3. Da dies größere Datensätze erzeugen kann wäre vielleicht ein unbuffered query angebrachter oder abfragen über prepared statements, zur Veranschaulichung hab ich es aber erstmal so gemacht. 4. Sicherheit für deine Queries muss du übernehmen. Hab ich jetzt außen vorgelassen, da ich hier explizites Typecasting vorziehe, welches dich hier aber nur ablenken würde. SuFu Typecasting! PHP: <? php //Basisvariablen $aQueryAdds = array(); $sQueryString = "SELECT * FROM mobel" ; //Auswertung welche Inputfelder wie gefüllt sind if (!empty( $_POST [ 'Material' ])) { @ $sQueryAdditions [] = "Material LIKE '% { $_POST [ 'Material' ]} %'" ; } if (!empty( $_POST [ 'Farbe' ])) { $sQueryAdditions [] = "Farbe LIKE '% { $_POST [ 'Farbe' ]} &'" ; } //und so weiter mit den input feldern des Formulars if (!empty( $aQueryAdds )) { //Sollten Inputfelder ausgefüllt worden sein, wird das Array voll sein $sQueryString .= ' WHERE ' . implode ( ' ' , $sQueryAddition ); //Querystring erweitern } //Ende - Kontrolle ob der String erweitert werden soll $rResult = mysql_query ( $sQueryString ) OR die( 'Datenbankfehler bei Abfrage der Artikel.' ); //Order BY und solche Dinge musst du dir selber überlegen! /** * Sollte kein Artikel mit den Kriterien vorhanden sein baust du die if-Struktur * weiter aus, oder erweiterst den die - Aufruf. */ if (! mysql_num_rows ( $rResult )) { die( 'Keine Artikel mit diesen Kriterien gefunden.' ); } //Ende - Kontrolle ob Datensätze vorhanden sind while ( $aAssocs = mysql_fetch_assoc ( $rResult )) { //while Schleife für jede Tabellenzeile //hier deine Ausgabe echo '<pre>' ; print_r ( $aAssocs ); echo '</pre>' ; } //Ende - while Schleife für jede Tabellenzeile ?> + Multi-Zitat Zitieren
#17 16. April 2007 AW: Daten aus Tabelle suchen? mhh wenn ich es so mache zeigt er mir immer alles an + Multi-Zitat Zitieren
#18 16. April 2007 AW: Daten aus Tabelle suchen? Jo so sieht es aus. So sieht es so gut wie in jedem Shop aus, es wird alles angezeigt oder irgendeine andere Übersicht, bis Suchkriterien ausgewählt werden! Zumal du ja auch keine Aussage getätigt hast, wie die Ausgangslage ist. Bei meiner Script ist es aber auch kein Problem Dinge erst anzeigen zu lassen, wenn auch wirklich was ausgefüllt wurde! + Multi-Zitat Zitieren
#19 16. April 2007 AW: Daten aus Tabelle suchen? Das war eigentlich mein Zeil, also die ausgabe nach Suchkreterien zu minimieren, eine normale Ausgabe hätte man auch einfacher machen können, also hab ich einfacher das meine variante besser ist bezweifle ich zwar aber sie funktioniert :] Öhh hättest du denn eine Idee für mich wie ich deine variante als suche umbauen kann? + Multi-Zitat Zitieren
#20 16. April 2007 AW: Daten aus Tabelle suchen? Hä genau das habe ich gemacht ... Die Ausgabe mit Suchkriterien eingegrenzt ... ohne Sichkritieren wird, so wie es logisch ist, alles ausgegeben. Da du keine Angaben gemacht hast wie deine Inputfelder aussehen, passend zu dem Punkt dass du dich als hilfesuchende person nicht klar und deutlich geäußert hast und man dir Infos aus der Nase ziehen muss um zu helfen, passen meine Formularfelder die ich hier exemplarische nutzte, bestimmt nicht zu deinen ..... Du hast hier nur ein Beispiel gebracht wie ein Formularfeld aussehen könnte, und das war Artikelnummer. Artikelnummer als Primary key kann jedoch nur unique sein, weswegen die Suche nach dem PK eigentlich nur ein Ergebnis zeigen kann. Das als Suchkriterium, als auschlagebendes Formularfeld, ist aber eigentlich, naja ich sag mal, FALSCH .... Die Ansicht EINES Ergebnisses ist nach meiner Auffassungsgabe, eine Detailansicht und keine Eingrenzung der gesamten Abfrage durch Suchkriterien .... + Multi-Zitat Zitieren
#21 17. April 2007 Ja das wird bei mir auch so , ich hab genau dein quelltxt genommen hab ihn mit den anderen attributen erweitert, aber er zeigt mir die ganze Zeit alles an :[ Es kann auch daran liegen das ich voll der leihe bin Also meine Inputfelder sehen wie folgt aus: <form method="post" action="suchen2.php"> <input type="text" name="Artikelnummer" value="Artikelnummer"><br> <input type="text" name="Artikel" value="Artikel"><br> <input type="text" name="Bezeichnung" value="Bezeichnung"><br> <input type="text" name="Material" value="Material"><br> <input type="text" name="Farbe" value="Farbe"><br> <input type="text" name="Preis" value="Preis"><br> <input type="submit" name="Suchen" value=" Suchen "> </form> + Multi-Zitat Zitieren