Hi
Habe eine Variable $forschung_erm_for die aus der Datenbank geladen wurde.
print_r($forschung_erm_for) gibt folgendes aus
Diese wird zerteilt und bei der WHERE eingesetzt werden.
Hier der Code
Die Datenbank schau so aus
Während er die Schleife durchläuft gibt er folgendes aus
Solange keine Klammer in $forschung vorgekommen ist hat der das auch gemacht nur mit den Klammern wollte er einfach nicht.
Hab es dann so umgeschrieben, dass die Klammern nicht mehr in $forschung vorkommen und die Abfrage mit LIKE abgeändert. Aber gebracht hat es auch nix.
Hab keine Ahnung warum der das nicht macht. Wenn mir einer bei meinem Problem helfen könnte wär ich ihm sehr dankbar.
Adonis
Habe eine Variable $forschung_erm_for die aus der Datenbank geladen wurde.
print_r($forschung_erm_for) gibt folgendes aus
Scout;Eistransport;Systrans1 (Systemtransporter Klasse1);Lionheart (Korvette);Slayer (Zerstörer);grosse Schiffsrümpfe
Hier der Code
PHP-Code:
$trennen = explode (";", $forschung_erm_for);
$anzahl = sizeof($trennen);
for($i=0; $i<$anzahl; $i++)
{
$forschung = $trennen[$i];
$pos = strpos($forschung, "(");
if ($pos === false)
{
print_r($forschung);
$sql = "SELECT forschungsid, forschungsinfo FROM forschungen WHERE forschungsinfo = '$forschung'";
}
else
{
$forschung = explode ("(", $forschung);
$forschung = $forschung[0];
print_r($forschung);
echo "
";
$sql = "SELECT forschungsid, forschungsinfo FROM forschungen WHERE forschungsinfo LIKE '%".$forschung."%'";
}
$result = $db->sql_query($sql);
while ($row_int = $db->sql_fetchrow($result))
{
$id = $row_int['forschungsid'];
echo", gefunden
";
}
}
CREATE TABLE `forschungen` (
`forschungsid` int(11) unsigned NOT NULL auto_increment,
`forschungsinfo` varchar(255) collate latin1_general_ci NOT NULL,
...
)
INSERT INTO `forschungen` VALUES (1, 'Raumschiffchassis', ... );
INSERT INTO `forschungen` VALUES (2, 'Scout', ... );
INSERT INTO `forschungen` VALUES (3, 'Eistransport', ... );
INSERT INTO `forschungen` VALUES (4, 'Systrans1 (Systemtransporter Klasse1)', ... );
...
`forschungsid` int(11) unsigned NOT NULL auto_increment,
`forschungsinfo` varchar(255) collate latin1_general_ci NOT NULL,
...
)
INSERT INTO `forschungen` VALUES (1, 'Raumschiffchassis', ... );
INSERT INTO `forschungen` VALUES (2, 'Scout', ... );
INSERT INTO `forschungen` VALUES (3, 'Eistransport', ... );
INSERT INTO `forschungen` VALUES (4, 'Systrans1 (Systemtransporter Klasse1)', ... );
...
Scout, gefunden
Eistransport, gefunden
Systrans1
Lionheart
Slayer
grosse Schiffsrümpfe, gefunden
Eistransport, gefunden
Systrans1
Lionheart
Slayer
grosse Schiffsrümpfe, gefunden
Hab es dann so umgeschrieben, dass die Klammern nicht mehr in $forschung vorkommen und die Abfrage mit LIKE abgeändert. Aber gebracht hat es auch nix.
Hab keine Ahnung warum der das nicht macht. Wenn mir einer bei meinem Problem helfen könnte wär ich ihm sehr dankbar.
Adonis

Kommentar