MySQL Abfrage einer ID(7stellig) mit teilen dieser ID

NeoNeMeSiS

Grünschnabel
Hallo,

habe folgende Aufgabe:
ich soll ein Script schreiben das als Frontend für Dozenten/Lehrer für ein Protal das Reisen anbietet erstellen.

mein Problem ist nun in der Datenbank stehen die Einträge für Länder, Regionen und Städte wie folgt drin z.B.:
id bez(eichnung)
1000000 - Deutschland(Land)
1000100 - Brandenburg(Region)
1000101 - Berlin(Stadt)

- ich weiß das folgende stimmt wohl nicht aber egal nur ein Beispiel -

1010000 - Frankreich
1010100 - Provence
1010101 - Paris

so und nun zu meinem Problem und zwar wie ihr seht ist diese ID fortlaufend und um einen Eintrag neu in die DB einzutragen muss ich den letzten abfragen nur eben genau das klappt nicht so recht, da ich dazu die ID nach ihren Einzelteilen abfragen muss also erstmal Land(kann von 100 bis 199 gehen) und dann Region(kann von 01-99 gehen) und zu guter letzt noch Stadt(von 01-99)


Nun mein Code(zum besseren Verständnis mit einfachen Kommentaren)
PHP:
<?
//Verb. mit DB-Server
mysql_connect("localhost","root","") or die("Verbindung fehlgeschlagen");

//DB auswählen
mysql_select_db("reiseziele") or die("Datenbankauswahl fehlgeschlagen");

///////////////////////////////////////////////////////////////////////////////////////////////////

$abfrage_land	=	"Select id from `reisen` where id like '___0000' order by id DESC";

$result_land	=	mysql_query($abfrage_land);

$last_land_id	=	mysql_num_rows($result_land);

/* -------------------------------------------- */

/*
echo $last_land_id; // um letzte id bzw. id des folgenden Elementes anzuzeigen.
*/

if($last_land_id <= 9)
{
	$land_id		=	"10".$last_land_id;
	$last_land_id	=	"10".$last_land_id."-00-00<br>";
}
else
{
	$land_id		=	"1".$last_land_id;
	$last_land_id	=	"1".$last_land_id."-00-00<br>";
}

echo "<br>Landes ID: ".$last_land_id;

///////////////////////////////////////////////////////////////////////////////////////////////////

$abfrage_region		=	"Select id from `reisen` where id like '".$land_id."__00' order by id DESC";

echo $abfrage_region,"<br>";

$result_region		=	mysql_query($abfrage_region);

$last_region_id		=	mysql_num_rows($result_region);

/* -------------------------------------------- */


echo "Regions ID: ".$last_region_id."<br>";


$region_id		=	"-0".$last_region_id."-00";

echo "halb Komplette ID(Land-Region): ".$land_id.$region_id."<br>";

///////////////////////////////////////////////////////////////////////////////////////////////////

$abfrage_stadt		=	"Select substring(id,5,2) as id from `reisen` where id > 0 order by id DESC";

$result_stadt		=	mysql_query($abfrage_stadt);

$last_stadt_id		=	mysql_num_rows($result_stadt);

echo "<br>Stadt ID: ".$last_stadt_id;
/*
echo "Komplette ID(Land-Region): ".$land_id.$last_region_id.$last_stadt_id"<br>";
*/
?>

Also das Land abzufragen funktioniert ja wie ihr seht wenn ihr es probiert nur ab da geht nix mehr...

Bitte ich brauche schnellstens Hilfe :p
 
Zuletzt bearbeitet:
$last_land_id = mysql_num_rows($result_land); <<< das gibt dir nicht die letzte ID zurück...
Nebenbei wie wärs mal mit ner richtigen DB-Struktur?
 
Okay danke erstmal natürlich gibt mir das nicht die Letzte ID es zählt die vorhandenen aber damit kann ich dann arbeiten um sie zu erhöhen aber hier folgt erstmal ein SQL-Dump damit ihr euch das so einrichten könnt wie es hier bei mir läuft:

PHP:
-- Datenbank: `reiseziele`
-- 

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `reisen`
-- 
-- Erzeugt am: 01. Dezember 2004 um 13:33
-- Aktualisiert am: 01. Dezember 2004 um 17:21
-- 

DROP TABLE IF EXISTS `reisen`;
CREATE TABLE IF NOT EXISTS `reisen` (
  `id` int(11) NOT NULL default '0',
  `bez` varchar(40) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM COMMENT='Auswahl - Land, Region, Stadt';

-- 
-- Daten für Tabelle `reisen`
-- 

INSERT IGNORE INTO `reisen` (`id`, `bez`) VALUES (1000000, 'Deutschland'),
(1000100, 'Brandenburg'),
(1000101, 'Berlin'),
(1010000, 'Frankreich'),
(1010101, 'Paris'),
(1010100, 'Provence');

P.S.: Wie ihr die DB 'reiseziele' anlegt wisst ihr ja sicher daher spare ich mir den Code dafür

Ach nochwas erst wenn ihr diesen Code von mir ausprobiert habt bitte antworten da dieser sonst schwer/nicht nachvollziehbar ist. Danke für eure Ideen.
 
Zurück