Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] Abfrage funktioniert nur hin und wieder » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Thema ist geschlossen
Zum Ende der Seite springen Abfrage funktioniert nur hin und wieder
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Leila Leila ist weiblich
Mitglied


Dabei seit: 09.02.2005
Beiträge: 12.987

Abfrage funktioniert nur hin und wieder Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich wusste nicht genau, wie ich es formulieren sollte...

Seit kurzem lasse ich auf RGE die Nachkomen der Pferde anders ausgeben. Vorher habe ich nur den Namen des Elterntier in der DB-Tabelle eingetragen gehabt, die Kürzel weggelassen.
Ich habe die Datensätze in der DB nun geändert und die Kürzel davor und/oder dahinter gehängt. Habe die Abfrage entsprechend geändert, jetzt funktioniert es nurnoch bei einigen Pferden.
Wenn es jetzt nur funktionieren würde bei Pferden mit nur Kürzel davor oder nur Kürzel dahinter oder nur Perde mit beiden Kürzeln, wüsste ich, wonach ich suchen muss.

Ich such mal nur die Signifikaten Stellen raus:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
<?php
include('/users/rge/www/rge/einbinden/head.php');
include('/users/rge/www/rge/einbinden/db.php');

$id "$_GET[id]";

$bla mysql_query("SELECT name,praefix,postfix,geschlecht FROM pferd WHERE id = '$id'");
if (@mysql_num_rows($bla) == 0) {
echo "Dieses Pferd existiert nicht!";
}
//[...]

else {
$Data mysql_fetch_array($bla);
$nameganz $Data[name];
if ($Data[praefix] != "") {$nameganz "$Data[praefix] $Data[name]";}
if ($Data[postfix] != "") {$nameganz "$nameganz $Data[postfix]";}

if ($Data[geschlecht] == 'Hengst')
 {
 $result1 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND vater = '$nameganz' ORDER BY id");
 }
else
 {
 $result1 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND mutter = '$nameganz' ORDER BY id");
 }

while ($row mysql_fetch_assoc($result3))
 {
//[...]
 }

//[...]

 }
mysql_close();
?>


Hab mir die Variable $nameganz schonmal zusätzlich ausgeben lassen, funktioniert immer und die Einträge in der DB sind auch fehlerfrei.
Habe festgestellt, dass es grundsätzlich funktioniert, wenn es nur davor ein Kürzel gibt oder garkeins.
Allerdings gibt es dann Abfragen mit beiden Kürzeln oder nur hinten einem, bei denen es funktioniert und welche, bei denen es dann nicht funktioniert...

Vllt findet ja wer nen Fehler...

Zur Not kann ich auch Beispiele geben.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Leila: 14.08.2010 18:59.

14.08.2010 18:58 Leila ist offline E-Mail an Leila senden Homepage von Leila Beiträge von Leila suchen Nehmen Sie Leila in Ihre Freundesliste auf
Oli
Server-Administrator


Dabei seit: 13.06.2010
Beiträge: 1.540

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

wo kommt $result3 her?
php:
1:
while ($row mysql_fetch_assoc($result3))

Die vorherigen Querys wurden mit $result1 durchgeführt:
php:
1:
$result1 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND vater = '$nameganz' ORDER BY id");



LG,
Oli
14.08.2010 19:07 Oli ist offline Beiträge von Oli suchen Nehmen Sie Oli in Ihre Freundesliste auf
Leila Leila ist weiblich
Mitglied


Dabei seit: 09.02.2005
Beiträge: 12.987

Themenstarter Thema begonnen von Leila
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ich hab im Laufe der Datei 3 Abfragen im Stil von result 1, habs nicht komplett aus der Datei entnehmen wollen, hatte auf die Zahl nicht geachtet. Wie gesagt, die Abfrage klappt im Grunde, aber eben nicht immer... Irgendwas, was mit $nameganz zu tun hat, den hab ich mir auch schon einzeln ausgeben lassen, da war nei ein Fehler drin

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
if ($Data[geschlecht] == 'Hengst')
 {
 $result1 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND vater = '$nameganz' ORDER BY id");
 }
else
 {
 $result1 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND mutter = '$nameganz' ORDER BY id");
 }

while ($row mysql_fetch_assoc($result1))
 {
//[...]
 }

//[...]

if ($Data[geschlecht] == 'Hengst')
 {
 $result2 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND vater = '$nameganz' ORDER BY id");
 }
else
 {
 $result2 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND mutter = '$nameganz' ORDER BY id");
 }

while ($row mysql_fetch_assoc($result2))
 {
//[...]
 }

//[...]

if ($Data[geschlecht] == 'Hengst')
 {
 $result3 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND vater = '$nameganz' ORDER BY id");
 }
else
 {
 $result3 mysql_query("SELECT * FROM nachkommen WHERE sex = 'Hengst' AND mutter = '$nameganz' ORDER BY id");
 }

while ($row mysql_fetch_assoc($result3))
 {
//[...]
 }

//[...]

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Leila: 14.08.2010 19:11.

14.08.2010 19:10 Leila ist offline E-Mail an Leila senden Homepage von Leila Beiträge von Leila suchen Nehmen Sie Leila in Ihre Freundesliste auf
Julia712 Julia712 ist weiblich
Mitglied


images/avatars/avatar-48505.png

Dabei seit: 28.11.2006
Beiträge: 2.262

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich würde die Zuweisung anders machen. Ob das hilft, kann ich dir aber auch nicht sagen Zunge raus

php:
1:
$nameganz $Data[praefix]." ".$Data[name];



Oder kann es sein, dass du bei manchen Pferden beim Prä- oder Postfix ein Leerzeichen irgendwo zu viel hast, sodass du dann ein doppeltes Leerzeichen bekommst?


Lg
Julia
15.08.2010 10:29 Julia712 ist offline Beiträge von Julia712 suchen Nehmen Sie Julia712 in Ihre Freundesliste auf
Leila Leila ist weiblich
Mitglied


Dabei seit: 09.02.2005
Beiträge: 12.987

Themenstarter Thema begonnen von Leila
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, Leerzeichen zu viel oder zu wenig nicht. Hab die Datei bissel bearbeitet und mir $nameganz ausgeben lassen, wird richtig ausgegeben...

EDIT: habs mal in ." ". geändert und über trim() die möglicherweise überflüssigen Leerzeichen abgenommen, nix

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Leila: 15.08.2010 11:54.

15.08.2010 10:34 Leila ist offline E-Mail an Leila senden Homepage von Leila Beiträge von Leila suchen Nehmen Sie Leila in Ihre Freundesliste auf
Leila Leila ist weiblich
Mitglied


Dabei seit: 09.02.2005
Beiträge: 12.987

Themenstarter Thema begonnen von Leila
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

keiner ne Idee?
23.08.2010 14:05 Leila ist offline E-Mail an Leila senden Homepage von Leila Beiträge von Leila suchen Nehmen Sie Leila in Ihre Freundesliste auf
kext kext ist männlich
»Ich bin ein HAL 9000 Supercomputer.«


images/avatars/avatar-51950.png

Dabei seit: 28.11.2008
Beiträge: 119
Herkunft: Planet Erde

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ist das Absicht, dass es mal „sex“ und mal „Geschlecht“ heißt? Du solltest da vielleicht konsequent bleiben.

__________________

23.08.2010 14:19 kext ist offline E-Mail an kext senden Beiträge von kext suchen Nehmen Sie kext in Ihre Freundesliste auf
Leila Leila ist weiblich
Mitglied


Dabei seit: 09.02.2005
Beiträge: 12.987

Themenstarter Thema begonnen von Leila
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

"geschlecht" heißts in der Tabelle "pferd" und "sex" heißts in der Tabelle "nachkommen"

ich find man gerät weniger durcheinander, wenn man es in verscheidenen Tabellen unterschiedlich benennt

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Leila: 23.08.2010 14:32.

23.08.2010 14:25 Leila ist offline E-Mail an Leila senden Homepage von Leila Beiträge von Leila suchen Nehmen Sie Leila in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Thema ist geschlossen
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] Abfrage funktioniert nur hin und wieder

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH