Zum Inhalt springen

Empfohlene BeitrÀge

Geschrieben

Hi Leute, kann mir jemand sagen was an dem folgenden Suchscript falsch ist und mich verbessern, das wÀre nett:

<?php

$res = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC");

{
$pn = mysql_result($res, $i, "moebel");
$ak = mysql_result($res, $i, "beschreibung");
$pl = mysql_result($res, $i, "muenzen");
$ergebnis =mysql_query($res);
echo "$pn, $ak, $pl, $ergebnis
";
}

?>[/PHP]

Ich bedanke mich im vorraus!

Geschrieben

Ich kenn mich in mysql nur sehr wenig aus. Anscheinend bist du Profi darin, könntest du mir da weiterhelfen?

Es kommt keine Fehlermeldung, wenn ich was eingebe in das formular kommt wenn ich auf "Senden" klicke einfach nur der Inhalt der ersten ID aus der Tabelle NEWS und nicht das Wort dass ich in der Tabelle News ja gesucht habe, verstehste?

Danke dir

Geschrieben

Also ganz ehrlich Leute, ich such jetzt schon 3 Tage nach dem Script und ich komm nicht klar mit euren Links, ist zwar nett und dafĂŒr bedank ich mich auch, aber ein fertiger Code wĂ€r doch die schnellste Lösung fĂŒr mich.

Danke

Geschrieben (bearbeitet)
<?php


$sql = "SELECT ...";

$result = mysql_query($sql);


while($daten=mysql_fetch_assoc($result)

{

  echo $daten['foo'];

}


?>

Bearbeitet von shinuma
Edit: [CODE] vergessen
Geschrieben

Er zeigt nix mehr an, macht statdessen die Seite kaputt :), vllt auch mein Fehler hab den Code jetzt so:

<?php

$sql = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC");


$result = mysql_query($sql);

while($daten=mysql_fetch_assoc($result);

{
echo $daten['foo'];
}


?>[/PHP]

Formular sieht so aus:

[code]<form id="form1" name="form1" method="post" action="index.php?panel=6"> <input name="eingabe" type="text" id="eingabe" value="<?php echo $_POST['eingabe']; ?>" /> <input name="sent" type="hidden" id="sent" value="sent" /> <input type="submit" name="Submit" value="Senden" /> </form>[/code]

Geschrieben

Ich bezweifel dass auf Deiner Tabelle das Feld "foo" existiert. Schau Dir doch bitte die beiden Links an und versuche das zu verstehen, was dort erklÀrt wird.

Du musst nur die Beispiele abschreiben und passend zu Deiner Problemstellung Felder und Select ersetzen

Phil

Geschrieben

1. ist die Form Datei ĂŒberhaupt richtig so?

2. kannste nicht einfach den PHP Code verbessern, alle Felder und Tabellen die dort angebeben sind gibt es ja wirklich in der DB, nur das 'foo' nicht, aber das hab ich ja von einem der Antwortenden bekommen!

Verbessere mal bitte, ich bin nÀmlich echt am vezweifeln, ich meine anscheinend kannst du es ja, will keine Tipps, will den Code haben XD

Dank dir

Geschrieben

Abgesehen davon, dass bei

while($daten=mysql_fetch_assoc($result))

eine Klammer fehlte, geht das doch super.

Es wĂ€re schön, wenn Du "geht nicht" durch vollstĂ€ndige Fehlermeldungen ausdrĂŒcken wĂŒrdest.

Frank

Geschrieben
Das hab ich ja gemacht, trotzdem gehts net!

Das ist ein eingebauter Selbstschutzmechanismus, den die meisten Programmiersprachen besitzen. Dieser soll u.a. verhindern, dass unperformanter und potentiell gefÀhrlicher Code o.À. (beides strifft auf dein SQL zu) in Produktionsumgebungen gelangt.

Leider ist dieser Selbstschutzmechanismus nicht sehr ausgeprÀgt, aber hin und wieder funktioniert er ganz gut.

Fazit: Verstehe was Du nutzen möchtest und dazu gehört auch, dass Du dich auf deine 4 Buchstaben setzt und PHP und SQL lernst.

Dim

Geschrieben

So, damit du siehst, was ich in meinem panel im CMS stehen habe:

Formular

<form id="form1" name="form1" method="post" action="index.php?panel=6">

<input name="eingabe" type="text" id="eingabe" value="<?php echo $_POST['eingabe']; ?>" />

<input name="sent" type="hidden" id="sent" value="sent" />

<input type="submit" name="Submit" value="Senden" />

</form>

Dazu der Php Code

<?php

$sql = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC");


$result = mysql_query($sql);

while($daten=mysql_fetch_assoc($result))
{
echo $daten['moebel'];
}


?>[/PHP]

Und ich hab alles nochmals kontrolliert, alles Feldnamen und Tabellen exestieren, es geht aber trotzdem nicht, er zeigt einfach kein Text an!

Geschrieben
Und ich hab alles nochmals kontrolliert, alles Feldnamen und Tabellen exestieren, es geht aber trotzdem nicht, er zeigt einfach kein Text an!

Und Du hast auch verifiziert, dass auch wirklich Daten in der Tabelle sind, die zu den Suchbegriffen passen? Auch was Gross-/Kleinschreibung betrifft?

Im ĂŒbrigen fehlt jeglicher Ansatz einer Fehlerbehandlung.

Dim

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...