Hallo ik heb een probleem met een insert in een tabel. De situatie is als volgt:
Ik heb een html pagina waarin ik in een iframe mijn php code laat werken.
Dit zorgt niet voor een probleem ik heb een select van de database die succesvol word uitgevoerd. Maar nu wil ik een insert doen in een tabel als men op 'Inschrijven' klikt, ik heb de query ook al buiten de functie 'add()' geschreven maar deze word niet uitgevoerd. Ik heb de database gecontroleerd en ik kan deze gegevens ingeven. Ik heb een echo gedaan in de add() functie voor te kijken waar hij problemen geeft maar hij displayt deze echo nooit. Ook heb ik de connection bij in de add() functie geplaats, zonder resultaat. Ik kan deze code perfect runnen maar hij doet niks bij de add() functie. Dank bij voorbaat

<?php

$connection = mysqli_connect('***', '***', '***');
$GLOBALS['connection']=mysqli_connect('***', '***', '***'); //globaal gedefinieerd
if (!$connection){
    die("Database Connection Failed" . mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, '***');
if (!$select_db){
    die("Database Selection Failed" . mysqli_error($connection));
}



   
$sql = mysqli_query($connection, "SELECT naam, omschrijving, maxDeelnemers,beginDatum,eindDatum FROM OPLEIDING");

function add()
{
    echo "test";
    $connection = mysqli_connect('***', '***', '***');
$GLOBALS['connection']=mysqli_connect('***', '***', '***'); //globaal gedefinieerd
    
if (!$connection){
    die("Database Connection Failed" . mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, '***');
if (!$select_db){
    die("Database Selection Failed" . mysqli_error($connection));
}
    
    $sql2= mysqli_query($connetion,"INSERT INTO PERSONEELTRAININGEN (opleidingID, werknemerID)
VALUES (3,6)");
        
}

             
?>
    <html>
    <style>
        body {
            width: 1000px;
        }

        table {
            font-family: arial, sans-serif;
            border-collapse: collapse;
            width: 100%;
        }

        td,
        th {
            border: 1px solid #dddddd;
            text-align: left;
            padding: 10px;
        }

        th#omschrijving {
            width: 100px;
        }

        tr:nth-child(even) {
            background-color: #dddddd;
        }

        a {
            color: black;
            text-decoration: none;
        }

        a:hover {
            color: blue;
            text-decoration: underline;

        }

    </style>

    <body>



        <table>

            <tr>
                <th>naam</th>
                <th id="omschrijving" width="70%">omschrijving</th>
                <th>maxDeelnemers</th>
                <th>beginDatum</th>
                <th>eindDatum</th>

            </tr>
            <?php while ($record = mysqli_fetch_assoc($sql))
    {  ?>

            <tr>


                <td>
                    <?php echo $record['naam'] ?>
                </td>
                <td>
                    <?php echo $record['omschrijving'] ?>
                </td>
                <td>
                    <?php echo $record['maxDeelnemers']?>
                </td>

                <td>
                    <?php echo $record['beginDatum']?>
                </td>

                <td>
                    <?php echo $record['eindDatum']?>
                </td>

                <td> <a  onclick="add()" >Inschrijven</a></td>

                <br />
            </tr>
            <!-- print_r($record) -->
            <?php } ?>
        </table>
    </body>
    </html>

Je probeert een PHP functie als javascript aan te spreken. Dat kan niet.
Ook zou ik eens kijken naar al die zinloze verbindingen die je maakt. Verbindingen geef je mee aan functies, die maak je daar niet opnieuw.
Je kan je $connection inderdaad prima meegeven als argument aan je functies. Dan hoef je niet steeds die code te herhalen. Ook kent mysqli_connect een vierde argument voor de database. Dus mysqli_select_db() heb je niet nodig. (tenzij je meerdere databases onder dezelfde credentials gebruikt)
Ik heb nu de functie helemaal onderaan aangesproken, deze werkt maar ik krijg nog steeds geen insert in de tabel ik krijg wel de echo 'test' terug te zien. Kan iemand mij helpen? zoals je ziet heb ik de insert al op twee manieren geprobeerd.
<?php

$connection = mysqli_connect('***', '***', '***');
$GLOBALS['connection']=mysqli_connect('***', '***', '***'); //globaal gedefinieerd
if (!$connection){
die("Database Connection Failed" . mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, '***');
if (!$select_db){
die("Database Selection Failed" . mysqli_error($connection));
}




$sql = mysqli_query($connection, "SELECT naam, omschrijving, maxDeelnemers,beginDatum,eindDatum FROM OPLEIDING");

function add()
{
echo "hello";
$connection = mysqli_connect('***', '***', '***');
$sql2 = mysqli_query($connection,"INSERT INTO MELDINGEN (MeldingID, WerknemerID,ActieID,CursusID)VALUES (3,6,4,2)");
$mysqli = new mysqli('***', '***', '***');
$mysqli->query("INSERT INTO MELDINGEN (MeldingID, WerknemerID,ActieID,CursusID)VALUES (3,6,4,2)");

$mysqli->commit();
}


?>
<html>
<style>
body {
width: 1000px;
}

table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}

td,
th {
border: 1px solid #dddddd;
text-align: left;
padding: 10px;
}

th#omschrijving {
width: 100px;
}

tr:nth-child(even) {
background-color: #dddddd;
}

a {
color: black;
text-decoration: none;
}

a:hover {
color: blue;
text-decoration: underline;

}

</style>

<body>



<table>

<tr>
<th>naam</th>
<th id="omschrijving" width="70%">omschrijving</th>
<th>maxDeelnemers</th>
<th>beginDatum</th>
<th>eindDatum</th>

</tr>
<?php while ($record = mysqli_fetch_assoc($sql))
{ ?>

<tr>


<td>
<?php echo $record['naam'] ?>
</td>
<td>
<?php echo $record['omschrijving'] ?>
</td>
<td>
<?php echo $record['maxDeelnemers']?>
</td>

<td>
<?php echo $record['beginDatum']?>
</td>

<td>
<?php echo $record['eindDatum']?>
</td>

<td> <a>Inschrijven</a></td>

<br />
</tr>



<!-- print_r($record) -->




<?php } ?>
</table>


<?php add();?>





</body>





</html>
Zou je je bericht kunnen bewerken en deze tussen code-tags plaatsen?
Dan is het beter leesbaarder. Alvast bedankt.

Zie ook mijn eerder gegeven advies.

Reageren