 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
31.10.2003, 15:47
|
#1
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Bayern
|
zur nächsten Seite verschieben (oder auch nicht)
Hallo Forum,
Habe folgendes Problem, und komme einfach nicht weiter.
Habe site mit Datenbank. In einem Formular kann man suchkriterien eingeben. Dann werden die Ergebnisse gezeigt
soweit klappt´s (danke, Jürgen)
In der Ergebnisseite gibt´s Bereich wiederholen, und 3 links
zurück, neue suche, weiter. (und auch anzeigen, wenn nicht erste, ....wenn nicht letzte).
Problem: Wenn es mehr Resultate als 10 sind und ich auf "weiter" klicke kommt zwar die Ergebniss- Seite ABER mit NIX drin (die optionen zeige, wenn nicht erste und so gehen).
Klicke ich auf zurück kommt auch die Ergebnisseite, aber auch mit nix drin.??
Was mache ich da nur falsch??
Bin für jeden Tipp sehr dankbar
gruß
jonny
|
|
|
31.10.2003, 23:24
|
#2
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Hallo Jonny, wir beide sind also wieder hier versammelt  .
Es ist schwierig, den Fehler auf die Tour zu finden, weil du natürlich eine Reihe von Verhaltensweisen anwenden musstest, um dahin zu kommen, wo du jetzt bist.
Eine Methode, den Fehler einzugrenzen wäre, die optionalen Bereiche, also "zeige, wenn nicht leer" usw., einmal rauszulöschen und zu sehen, ob es dann funktioniert. Mach vorher eine Kopie der Seite, dann kannst du ein wenig experimentieren, ohne dann alles nochmal zu machen.
Ansonsten kannst du hier auch den kompletten Code der Seite mit den Weiter- und Zurücklinks posten - dann können wir den Fehler direkt im Code suchen.
Gruß, Jürgen
|
|
|
02.11.2003, 21:04
|
#3
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Bayern
|
Habe die Ehre, Jürgen
nice to meet you
Obwohl es sehr dringend ist, kann ich erst jetzt schreiben, da ich 2 Tage nicht online war. (Telefonanlage und Router installiert).
anyway
War trotzdem fleißig, habe die komplette Seite(!) nochmal erstellt, weil es dann wirklich nervig wurde.
Und: es funktioniert beim besten Willen nicht.
Wenn man auf weiter klickt, kommt nix, wenn man dann wieder auf zurück klickt kommt auch nix (d.h. die Ergebnisseite, aber ohne Inhalt). Bin echt am verzweifeln. Hab´s genau so gemacht wie du es einmal beschrieben hattest und habe auch in Büchern nachgesehen, da steht´s genau so.
Als Anlage schicke ich den Code mit, da ich nicht wusste, welcher Teil wichtig ist, habe ich den ganzen Code von dieser Ergebnisseite kopiert.
Ach ja, der Text ist auf französisch, d.h. die links heißen:
retour (zurück)
prochaine (nächste/r)
nouvelle Recherche (neue Suche, link auf die Suchen Seite)
besten Dank im Voraus und schöne Grüße
jonny
|
|
|
02.11.2003, 21:05
|
#4
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Bayern
|
...attachment vergessen ...
|
|
|
02.11.2003, 22:53
|
#5
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Was mir jetzt auf die Schnelle aufgefallen ist:
Die Query ist nicht korrekt:
PHP-Code:
$query_be_ausgabe = sprintf("SELECT * FROM tblbelgien WHERE Nom LIKE '%s%%' AND CodePostale LIKE '%s%%' AND Ville LIKE '%s%%' AND Kategorie LIKE '%s%%' AND Adress LIKE '%s%%' ORDER BY Nom ASC", $colname_be_ausgabe,$colplz_be_ausgabe,$colstadt_be_ausgabe,$colbranche_be_ausgabe,$colstrasse_be_ausgabe);
Nimm die doppelten %% heraus und versuche es dann nocheinmal:
PHP-Code:
$query_be_ausgabe = sprintf("SELECT * FROM tblbelgien WHERE Nom LIKE '%s' AND CodePostale LIKE '%s' AND Ville LIKE '%s' AND Kategorie LIKE '%s' AND Adress LIKE '%s' ORDER BY Nom ASC", $colname_be_ausgabe,$colplz_be_ausgabe,$colstadt_be_ausgabe,$colbranche_be_ausgabe,$colstrasse_be_ausgabe);
Gruß, Jürgen
|
|
|
03.11.2003, 16:59
|
#6
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Bayern
|
Hallo Forum,
Hallo Jürgen,
ich habe es so versucht, wie beschrieben, aber ohne Erfolg.
Ich hatte es folgender Maßen verstanden: Als ich die Datensatzgruppe für die Abfrage erstellt hatte, die auch dann super funktionierte, hatte ich sie ja anfangs mit „Einfach“ erstellt, um dann den SQL Code für die anderen WHERE Klauseln abzugucken.
Da fiel mir auf, dass wenn man LIKE wählt und „beginnt mit“, dass dann nach dem Variablennamen ein % kommt. Und alles klappte wie gewünscht und erwartet. Gibt man nun die ersten paar Buchstaben ein, kommt tatsächlich das Ergebnis wie gewünscht. Dass dadurch im Code nun ‚%s%%’ entsteht habe ich mir ausführlich angesehen.
Wie gesagt habe ich versucht die doppelten % rauszunehmen, als ich mir dann die Datensatzgruppe ansah, waren auch da die % verschwunden, und nix ging mehr.
Was ich jetzt partout nicht verstehe, (und ich sitze wieder den gaaanzen Tag dran, ohne Ergebnis) wieso die links „zur nächsten verschieben“ etc nicht funtionieren.
Ich kann mir auch nicht vorstellen, dass das am o.g. Code liegt, denn die Abfrage funktioniert ja. Besten sogar.
Ich habe kürzlich eine 6- monatige Ausbildung zum Webdesigner gemacht (IHK) und an den Übungsbeispielen habe ich gesehen, dass diese Links genau so erstellt werden, wie du es beschrieben hattest.
Ich habe auch nochmal ein paar Übungsdateien wieder durchgespielt, und...... es funktioniert.
Nur an meiner SITE nicht, und das Problem ist, dass das Ding fertig werden muss, denn es ist für unsere Firma, und es wäre ziemlich frustrieren zu sagen: Chef, ich krieg das doch nicht hin“.
Ich schicke nochmal den Code- Abschnitt nur mit dem PHP String mit den Links „zu nächste verschieben“ etc...
Ich hoffe sehr, dass ein Profi- Auge sieht wo das Problem nun liegt, und mir da weiterhelfen kann.
Bis dahin
Besten dank im voraus
Und schöne grüße
Jonny
Code:
<?php } while ($row_ausgabe_belgien = mysql_fetch_assoc($ausgabe_belgien)); ?>
<strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?php if ($pageNum_ausgabe_belgien > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_ausgabe_belgien=%d%s", $currentPage, max(0, $pageNum_ausgabe_belgien - 1), $queryString_ausgabe_belgien); ?>"><<retour</a>
<?php } // Show if not first page ?>
<img src="images/transgif2020.gif" width="20" height="20"><a href="rechercher.php">nouvelle
Recherche</a> <img src="images/transgif2020.gif" width="20" height="20">
<?php if ($pageNum_ausgabe_belgien < $totalPages_ausgabe_belgien) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_ausgabe_belgien=%d%s", $currentPage, min($totalPages_ausgabe_belgien, $pageNum_ausgabe_belgien + 1), $queryString_ausgabe_belgien); ?>">prochaine>></a>
<?php } // Show if not last page ?>
|
|
|
04.11.2003, 11:34
|
#7
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Ich habe das Ganze jetzt genauer unter die Lupe genommen und den Fehler gefunden:
Das Problem ist, dass du die Übergabe der Suchparameter, d. h. der Feldinhalte aus dem Suchformular, per "POST" machst. Nachdem ja beim Weiter- und Zurückblättern keine POST-Variablen mehr zur Verfügung stehen, bringt eine neuerliche Datenbankabfrage auch kein Ergebnis mehr.
Lösung: du stellst das Formular auf der Suchseite auf die Methode "GET" um. Dazu den <form>-Tag auswählen und im Eigenschafteninspektor Methode GET auswählen.
Weiters musst du die Ausgabeseite anpassen, damit die Variablen dort richtig übernommen werden. In der Datensatzgruppe stellst du daher alle Variablen, z. B. colbranche_be_ausgabe auf den Laufzeitwert $_GET['Variablenname'] um. Das kannst du auch im Quelltext machen, dazu alle Variablenzuweisungen einfach von Post auf Get ändern. So muss es dann auf der Ausgabeseite aussehen, es darf keine Variable mehr per POST übergeben oder ausgelesen werden:
PHP-Code:
$colbranche_be_ausgabe = "1";
if (isset($_GET['Kategorie'])) {
$colbranche_be_ausgabe = (get_magic_quotes_gpc()) ? $_GET['Kategorie'] : addslashes($_GET['Kategorie']);
}
$colname_be_ausgabe = "2";
if (isset($_GET['Nom'])) {
$colname_be_ausgabe = (get_magic_quotes_gpc()) ? $_GET['Nom'] : addslashes($_GET['Nom']);
}
$colplz_be_ausgabe = "3";
if (isset($_GET['CodePostale'])) {
$colplz_be_ausgabe = (get_magic_quotes_gpc()) ? $_GET['CodePostale'] : addslashes($_GET['CodePostale']);
}
$colstadt_be_ausgabe = "4";
if (isset($_GET['Ville'])) {
$colstadt_be_ausgabe = (get_magic_quotes_gpc()) ? $_GET['Ville'] : addslashes($_GET['Ville']);
}
$colstrasse_be_ausgabe = "5";
if (isset($_GET['Adress'])) {
$colstrasse_be_ausgabe = (get_magic_quotes_gpc()) ? $_GET['Adress'] : addslashes($_GET['Adress']);
}
So, das wars. Versuch dich mal daran
Gruß, Jürgen
Geändert von Jürgen (04.11.2003 um 11:37 Uhr).
|
|
|
05.11.2003, 17:10
|
#8
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Bayern
|
Hallo Jürgen,
tja, was soll man dazu noch sagen?
In 3 minuten war alles erledigt.
Ich habe ganze 3 Tage alle möglichen und unmöglichen Lösungen probiert. 3 Tage (die ich nicht habe) und NUR für die zurück und weiter links. Dann die ganze Ergebnisseite komplett neu erstellt.
Hat alles nix genützt.
Und wo war das Problem? IM GET (statt POST).
Als es dann funnzte, bin habe ich mir fast den Kopf an der Decke gestossen, wg. Freudensprung.
Also vielen Dank für diene Unterstützung und Hilfe
Auch danke für die detaillierte Problemdefinition- und Lösung und den Code
herzliche Grüße
jonny
|
|
|
05.11.2003, 19:29
|
#9
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Na wunderbar  . Ist aber doch beeindruckend, wie man in DW so eine Ergebnisliste mit wenigen Mausklicks erzeugen kann, nicht wahr? 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:10 Uhr.
|
 |