Пропуска тага и продължава .. XML

sentenello

Registered
Здравейте,
До момента си мислех че файла който съм направил извлича данните и си ги записва в моята БД перфектно, но току що установих че пропуска тага <sport> или по-точно ми взема само първия път в който го мерне :D и след това всички резултати ги записва със sporotid, на <sport name="football" id="1">

Пример:
Код:
<sport name="Football" id="1">
<match name="United-Pool" id="1"></match>
</sport>

<sport name="Formula 1" id="3">
<match name="WordChamp" id="2"></match>
</sport>
Примера който съм дал е за да ви кажа че в този случай кода ми ще вземе sport football и след това ще запише и двата мача там. В БД на мачовете имам 2 полета, Matchid и sportID, където записвам кой мач към кой спорт е.

Кода с който записвам данните е този:

Код:
$sportTYPE = $xmlDoc->getElementsByTagName( "sport" );
foreach ($sportTYPE as $sportTYPEs) {

 $sportID =  $sportTYPEs->getAttribute('id');
 $sportname =  $sportTYPEs->getAttribute('name');
        echo "SPORT: $sportID - $sportname";

$events = $xmlDoc->getElementsByTagName( "event" );
foreach ($events as $event) {
         $parvenstvoime = $event->getAttribute('name');
		 $parvenstvoid =  $event->getAttribute('id');
		 $parvenstvoid = addslashes($parvenstvoid);
         $parvenstvoime = addslashes($parvenstvoime);

 $matches = $event->getElementsByTagName("match");
foreach($matches as $match) {
                 $macha = $match->getAttribute("name");
}
}
}

Цялата информация я вземам, само не мога да разбера, защо не ми взема спорт тага. Сложил съм и echo, но ми извежда само първия (football), а след това където трябва да ми изведе formula 1 примерно, няма нищо.
 
Току що разбрах че когато премахна проверката в choice и ми извежда, спорта както трябва да е.

в
Код:
$choices = $bet->getElementsByTagName('choice');
                        foreach ($choices as $choice) {
                                $izborid = $choice->getAttribute('id');
								$izborime = $choice->getAttribute('name');
								$izborime  = str_replace("%", " ", $izborime);
								$izborime = addslashes($izborime);
								$izborkoef = $choice->getAttribute('odd');
								$zalogID = $IDzalog;
                                echo "Възможност: id:$izborid залогИД:$zalogID залог:$izborime коеф.:$izborkoef <br> ";
                        if(Verify5($izborid,$izborime) == 1) 
                {
                        echo "Има запис";
                }else {
		$add5 = "INSERT INTO choicetype (id,bet_id,name,koef) VALUES ('$izborid', '$zalogID', '$izborime', '$izborkoef')";
$query5 = mysql_query($add5);
		}
                        }
махам
Код:
  if(Verify5($izborid,$izborime) == 1) 
                {
                        echo "Има запис";
                }else {
		$add5 = "INSERT INTO choicetype (id,bet_id,name,koef) VALUES ('$izborid', '$zalogID', '$izborime', '$izborkoef')";
$query5 = mysql_query($add5);
		}

И се оправя, но тази проверка ми трябва, за да разбирам дали има такъв запис и ако има, да не го записва.

Самата функция представлява.
Код:
function Verify5($izborid,$izborime) 
                {        
                        $chek5 = mysql_query("SELECT * FROM `choicetype` WHERE `id`='{$izborid}' and `name`='{$izborime}';")or die(mysql_error());        
                        return mysql_num_rows($chek5)? 1 : 0; 
                }
 

Back
Горе