Ik ben Jessy van Lieshout, ik ben 18 jaar oud en ik heb jullie hulp nodig bij een opdracht die ik gekregen heb.
Ik moet een knock-out gaan maken voor een tennisvereniging.
In de applicatie moet een functie komen die de winnaars van elke ronde automatisch doorzet naar de volgende ronde. Hierbij wordt willekeurig een tegenstander gekozen, dit voorkomt vriendjespolitiek. Dit moet zichtbaar worden in een knock-out systeem. De winnaar krijgt dan een kleur. De uitslagen van de wedstrijd worden handmatig door middel van een formulier in de database gezet. De spelers van de 1e ronde worden automatisch bepaald van de aanmeldingen. Dit moet aan de macht van 2 spelers zijn. Als in de eerste ronde geen macht van 2 is worden er in de 1e ronde minder spelers geplaatst waardoor het aantal spelers in de volgende ronde wel aan de macht van 2 is.
Dit betekent dat sommige spelers direct door gaan naar ronde 2.
Sommige aanmelders leveren zelf de aanmeldingen, deze xml files moeten geimporteerd worden door iemand die geen verstand heeft van programmeren.
Wie kan mij helpen bij deze uitdaging? Ik heb de hele dag gepuzzeld maar kom er niet uit.
op dit moment is het gelukt om alle foutmeldingen weg te halen, helaas worden deze gegevens nog niet toegevoegd in de database. Hoe kun je dit oplossen?
<?xml version="1.0" standalone="true"?>
-<aanmeldingen>
-<aanmelding>
<spelervoornaam>Piet</spelervoornaam>
<spelerachternaam>Pietersen</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Mohammed</spelervoornaam>
<spelerachternaam>Oualiki</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Susan</spelervoornaam>
<spelerachternaam>Blankers</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
+<aanmelding>
-<aanmelding>
<spelervoornaam>Ali</spelervoornaam>
<spelerachternaam>Abdul</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Steven</spelervoornaam>
<spelerachternaam>Speelberg</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Maarten</spelervoornaam>
<spelerachternaam>Leest</spelerachternaam>
<spelertussenvoegsels>van</spelertussenvoegsels>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Anton</spelervoornaam>
<spelerachternaam>Teunnissen</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Petra</spelervoornaam>
<spelerachternaam>Jansen</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Peter</spelervoornaam>
<spelerachternaam>Kapteijns</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
-<aanmelding>
<spelervoornaam>Esra</spelervoornaam>
<spelerachternaam>Elha</spelerachternaam>
<spelertussenvoegsels/>
<schoolnaam>Koning Willem I College</schoolnaam>
</aanmelding>
</aanmeldingen>
[size=xsmall]Toevoeging op 11/01/2020 12:32:11:[/size]
dit is wat ik aan code heb, nu ik de id erbij heb gezet krijg ik deze melding: invalid parameters.
sorry ik probeer me aan de regels te houden, ik zie nu ook dat dit wel helpt.
mijn volledige import.php code ziet er nu als volgt uit:
<?php
//import.php
sleep(3);
//stores error or succes message
$output = '';
//checkt of er een file geselecteerd is.
if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != '')
{
$valid_extension = array('xml');
$file_data = explode('.', $_FILES['file']['name']);
$file_extension = end($file_data);
if(in_array($file_extension, $valid_extension))
{
$data = simplexml_load_file($_FILES['file']['tmp_name']);
// maakt connectie met database
$connect = new PDO('mysql:host=localhost;dbname=tenniswedstrijden','root', '');
//query voegt gegevens toe aan tabellen in database
$query =
"INSERT INTO speler
(s_naam, s_tussenvoegsel, s_achternaam)
VALUES(:spelervoornaam, :spelerachternaam, :spelertussenvoegsels)";
$statement = $connect->prepare($query);
for($i = 0; $i < count($data); $i++)
{
//values krijgen gegevens
$statement->execute(
array(
'spelervoornaam' => $data->aanmelding[$i]->spelervoornaam,
':spelertussenvoegsels' => $data->aanmelding[$i]->spelertussenvoegsels,
':spelerachternaam' => $data->aanmelding[$i]->spelerachternaam,
)
);
}
// laat zien als goede file gekozen is
$result = $statement->fetchAll();
if(isset($result))
{
$output = '<div class="alert alert-success">Import Data Done</div>';
}
}
//laat zien als foutieve/geen xml file gekozen is
else
{
$output = '<div class="alert alert-warning">Invalid File</div>';
}
}
else
{
$output = '<div class="alert alert-warning">Please Select XML File</div>';
}
echo $output;
?>
[size=xsmall]Toevoeging op 11/01/2020 13:25:28:[/size]
ik heb even verder aan de code gewerkt en krijg nu de volgende foutmelding:
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`tenniswedstrijden`.`speler`, CONSTRAINT `speler_ibfk_1` FOREIGN KEY (`sch_id`) REFERENCES `school` (`sch_id`)) in C:\xampp\htdocs\Tenniswedstrijden\startbootstrap-agency-gh-pages\php\import.php:36 Stack trace: #0 C:\xampp\htdocs\Tenniswedstrijden\startbootstrap-agency-gh-pages\php\import.php(36): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\Tenniswedstrijden\startbootstrap-agency-gh-pages\php\import.php on line 36