Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: PHP Form Mysql koppeling 2 tabellen  (gelezen 1469 keer)

PHP Form Mysql koppeling 2 tabellen
« Gepost op: 2010/01/28, 19:50:41 »
Hallo beste mensen,

Ik zit met een probleem.

Ik heb een Form in die form wil ik tegelijk bij het invullen een koppeling maken naar een bepaalde record van een ander tabel.

Mijn Tabellen:

Printer (id, merk, type, code)
assortiment (printerid, cartridgeartikelnr)
cartridge (artikelnr, merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs)

Mijn PHP Form Code:

<?php
/* Hier zegt PHP dat config.php en opendb.php moet includen om zo een mysql connectie en en database connectie moet maken
voor meer informatie bekijk config.php en opendb.php code voor meer commentaar*/
include 'config.php';
include 
'opendb.php';

// kijkt of het formulier is toegevoegd
if(isset($_POST['cartridge']))
{
    
// pakt de invoer van $_POST
    // compresseert alle invoer om extra ruimtes te verwijderen
    
$merkcode    trim($_POST['txtmerkcode']);
    
$kleur   trim($_POST['txtkleur']);
    
$inhoud     trim($_POST['txtinhoud']);
    
$omschrijving trim($_POST['txtomschrijving']);
    
$cartridgemerk trim($_POST['txtcartridgemerk']);
    
$cartridgecode trim($_POST['txtcartridgecode']);
    
$ean trim($_POST['txtean']);
    
$prijs   trim($_POST['txtprijs']);
    
    
// voorbereiden van de query
    
$query "INSERT INTO cartridge (merkcode, kleur, inhoud, omschrijving, cartridgemerk, cartridgecode, ean, prijs) " .
             
"VALUES ('$merkcode', '$kleur', '$inhoud', '$omschrijving', '$cartridgemerk', '$cartridgecode' '$ean', '$prijs')";

    
// voert de query uit om de invoer in de database te zetten
    // als de query vervalt het script         
    
mysql_query($query) or die('Error, query failed. ' mysql_error());
    
    
// Omzeilt de pagina waar je nu op zit
    // Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
    
header('Location: ' $_SERVER['REQUEST_URI']);
    
    
// Geforceerd om het script tot een stop te brengen
    // ga door voordat de pagina is doorgestuurd.
    
exit;
}
//PHP code wordt hier beeindigd 
?>

<html>
<style>
{
    background-repeat: no-repeat;
    background-position: 1350px 100px;
    }
</style>
<body>

<Center><h2>Toevoegen Cartridge</h2>
  <table align="right" bgcolor="#FFFFFF">
    <tr>
    </tr>
  </table>
</Center>
<!-- Hier begint de form om data toevoegen aan tabel orgineel -->
<form method="post" name="CartridgeForm">
 
  <hr>
  <table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
  <tr>
   <td width="100">Merkcode*</td>
   <td>
    <input name="txtmerkcode" type="text" id="txtmerkcode" size="15" maxlength="20">
    voorbeeld: hp 25</td>
 </tr>
   <tr>
   <td width="100">Kleur</td>
   <td><input name="txtkleur" type="text" id="txtkleur" size="15" maxlength="15">
   voorbeeld: zwart</td>
   <td>&nbsp;</td>
   </tr>
  <tr>
   <td width="100">Inhoud</td>
   <td><input name="txtinhoud" type="text" id="txtinhoud" size="10" maxlength="10">
   ml - voorbeeld: 25</td>
 </tr>
  <tr>
   <td width="100">Product Omschrijving</td> <td><textarea name="txtomschrijving" cols="80" rows="5" id="txtomschrijving"></textarea></td>
 </tr>
  <tr>
   <td width="100">Cartridge Merk*</td>
   <td><input name="txtcartridgemerk" type="text" id="txtcartridgemerk" size="40" maxlength="40">
   voorbeeld: hp</td>
   </tr>
 <tr>
   <td width="100">cartridge Code*</td>
   <td><input name="txtcartridgecode" type="text" id="txtcartridgecode" size="40" maxlength="40">
   voorbeeld: 1235AE</td>
   </tr>
   <tr>
   <td width="100">EAN Nummer</td>
   <td><input name="txtean" type="text" id="txtean" size="40" maxlength="40">
   voorbeeld: 354059856</td>
 </tr>
  <tr>
   <td width="100">Prijs</td>
   <td>&euro;<input name="txtprijs" type="text" id="txtprijs" size="10" maxlength="10">
   voorbeeld: 19,50</td>
 </tr>
   <tr>
   <td width="100">&nbsp;</td>
   <td>
    <input name="cartridge" type="submit" id="cartridge" value="Voeg toe aan Tabel-Cartridge" onClick="return checkForm();"></td>
    </tr>
</table>
</form>

<?php
// include de database configuratie en
// opent de connectie naar de database
include 'config.php';
include 
'opendb.php';

// kijkt of het formulier is toegevoegd
if(isset($_POST['printer']))
{
    
// pakt de invoer van $_POST
    // compresseert alle invoer om extra ruimtes te verwijderen
    
$merk    trim($_POST['txtmerk']);
    
$type   trim($_POST['txttype']);
    
$code   trim($_POST['txtcode']);
    
    
// voorbereiden van de query
    
$query "INSERT INTO printer (merk, type, code) " .
             
"VALUES ('$merk', '$type', '$code')";

    
// voert de query uit om de invoer in de database te zetten
    // als de query faalt vervalt het script         
    
mysql_query($query) or die('Error, query failed. ' mysql_error());
    
    
// Omzeilt de pagina waar je nu op zit
    // Het formulier wordt niet twee keer opgeslagen omdat er anders dubbele berichten worden weergegeven
    
header('Location: ' $_SERVER['REQUEST_URI']);
    
    
// Geforceerd om het script tot een stop te brengen
    // ga door voordat de pagina is doorgestuurd.
    
exit;
}
?>

</body>
<style>
{
    background-repeat: no-repeat;
    background-position: 1350px 100px;
    }
</style>
<body>
<Center><h2>Toevoegen Printer</h2>
  <table align="right" bgcolor="#FFFFFF">
    <tr>
      </tr>
  </table>
</Center>
<hr>
<!-- Hier begint de form om data toe te voegen aan tabel Printer -->
<form method="post" name="PrinterForm">
 <table width="550" border="0" cellpadding="2" cellspacing="1" bordercolor="#D4D0C8">
  <tr>
   <td width="100">Merk Naam*</td> <td>
    <input name="txtprintermerk" type="text" id="txtprintermerk" size="15" maxlength="20"></td>
 </tr>
  <tr>
   <td width="100">Printer Type*</td>
   <td><input name="txtprintertype" type="text" id="txtprintertype" size="15" maxlength="20"></td>
   </tr>
   <tr>
   <td width="100">Printer Code</td>
   <td><input name="txtprintercode" type="text" id="txtprintercode" size="15" maxlength="15"></td>
  </tr>
   <tr>
   <td width="100">&nbsp;</td>
   <td>
    <input name="printer" type="submit" id="printer" value="Voeg toe aan Tabel-printer" onClick="return checkForm();"></td>
    </tr>
</table>
</form>
<hr>
<!-- Hier zie je nog wat extra code om zo de gebruiker direct toe te verwijzen naar phpmyadmin -->
<a href="/phpmyadmin/index.php?db=sancak&token=30e26e7fa34eee386854d65a15835985" target="_blank"><b>Tabels Bewerken</b></a>
</body>
</html>

Ik zit al 1,5 week van alles te proberen maar het lukt maar niet, ik heb dit wel in MS Acces helemaal gemaakt en opgegeven moment is het wel mogelijk dat je de record kan kiezen in tabel cartridges als je een record aanmaakt.

Re: PHP Form Mysql koppeling 2 tabellen
« Reactie #1 Gepost op: 2010/01/29, 00:17:48 »
Was een jackass actie was een andere weg ingeslagen maar niet opnieuw begonnen met normaliseren zag het pas na 9 uur lang er aan hebben zitten te kloten -_-!.. dat krijg je als je niet constant met databases blijft werken je vergeet veel dingen :P.