|
 |
Abfrage funktioniert nur hin und wieder |
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
 |
|
Abfrage funktioniert nur hin und wieder |
 |
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 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
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 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Ich würde die Zuweisung anders machen. Ob das hilft, kann ich dir aber auch nicht sagen
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 |
|
|
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
Themenstarter
 |
|
|
23.08.2010 14:05 |
|
|
kext
»Ich bin ein HAL 9000 Supercomputer.«
 

Dabei seit: 28.11.2008
Beiträge: 119
Herkunft: Planet Erde
 |
|
Ist das Absicht, dass es mal „sex“ und mal „Geschlecht“ heißt? Du solltest da vielleicht konsequent bleiben.
__________________

|
|
23.08.2010 14:19 |
|
|
|
|
 |
Impressum
|