[MYsql] Woorden vervangen

Pagina: 1
Acties:

  • DarkFire
  • Registratie: November 2003
  • Laatst online: 26-04 15:23
Hallo Got`ters,

ik heb een vraagje over php en mysql database:

Het lijkt me slim om jullie eerst de bedoeling uit te leggen, dit onderdeel hoort bij een 'order' systeem in een winkel, je kunt dus orders (bestellingen,facturen) maken en daar een klant aan koppelen of een nieuwe toevoegen, en ook producten toevoegen, nu zoek ik de gemakkelijkste manierom voor hun producten toe te voegen aan een bestelling. in de database zijn 50 tot 70% van de producten bekend onder een nummer die ik dus om kan zetten naar de bijbehorende beschrijving.
Maar hoe kan ik nu het beste producten toevoegen en dus controleren of de nummers bestaan zo niet geef een veld weer om de data in te voegen in de database zo ja voeg achter het nummer via een tabje bijvoorbeeld de beschrijving weer

Ik sta open voor alle suggesties, de tip hieronder kreeg ik al alleen weet ik niet hoe ik daar moet controleren op aanwezige producten en zo niet deze toe te voegen.
CREATE TABLE orders
{
id int(11) NOT NULL auto_increment,
leverancier varchar(50) NOT NULL,
leverweek varchar(2) NOT NULL,
binnen enum('ja','nee') NOT NULL,
uitgevoerd enum('ja','nee') NOT NULL default = ''
order text,
primary key(id)
}


en dan order zo:
naam\taantal\n (\t is een tab en \n is een newline, in php kun je gewoon \t en \n invoeren)
naam\taantal\n


En dan eruithalen:
Code:

<?php
mysql_connect();
mysql_select_db();
$query = "SELECT * FROM orders WHERE binnen = 'nee'";
if(!$result = mysql_query($query))
{
echo "foutje";
}else
{
while($row = mysql_fetch_assoc($result))
{
$producten = Array();
while($pr = scanf($row['order'], "%s\t%i\n"))
{
$producten[] = $pr;
}
// doe iets met de dingen
}
}
?>

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ga eens snel wat lezen op Google over normalisatie van relationele databases. :) De oplossing voor jouw probleem is het schoolvoorbeeld van een relationele database waarbij er normaal een tabel is voor orders, één voor orderregels en één voor artikelen. Wat je nu hebt verzonnen is gewoon niet goed te onderhouden, en je kan er dus ook beter niet op deze manier meer verder gaan. :)

[ Voor 3% gewijzigd door NMe op 01-02-2005 23:29 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Orders is misschien wel het populairste voorbeeld bij uitleg over databases. Ook op GoT zal menig voorbeeld staan van een ordersysteem dat een stuk beter kan werken.

Vooral het veld 'order text' is iets waar je slapeloze nachten van kan krijgen als je je DB een beetje lekker vult en tegen problemen loopt. ;)
in de database zijn 50 tot 70% van de producten bekend onder een nummer die ik dus om kan zetten naar de bijbehorende beschrijving.
Waarom heben ze niet allemaal een nummer? Waarom wil je omgezet opslaan? Inconsequent gedrag als dit is een teken dat iemand al niet helemaal happy was met de intensie van de DB.

[ Voor 44% gewijzigd door Voutloos op 01-02-2005 23:35 ]

{signature}


  • DarkFire
  • Registratie: November 2003
  • Laatst online: 26-04 15:23
niet alles staat in de database omdat het bedrijf goederen krijgt van ontzettend veel leveranciers met een assortiment die telkens wijzigt, daarom wil ik ook een ingebouwde manier om nieuwe toe te kunnen voegen.

Ik snap dat ik het anders moet aanpakken, het voorbeeld dat er net stond was een reactie die ik van iemand had gekregen. Als jullie meer tips hebben om aan informatie te komen of een voorbeeld hebben is dat altijd welkom

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14-05 13:03

RM-rf

1 2 3 4 5 7 6 8 9

Dark-Fire schreef op woensdag 02 februari 2005 @ 09:35:
niet alles staat in de database omdat het bedrijf goederen krijgt van ontzettend veel leveranciers met een assortiment die telkens wijzigt, daarom wil ik ook een ingebouwde manier om nieuwe toe te kunnen voegen.
heel erg leuk, maar dat bedrijf moet zelf realiseren dat een datbase niet een post-it papiertje is waar ze achteraf hun bestellingen op neerkalken en dat de administratie 4 keer per jaar de hele berg papiertjes gaat doorpluizen en deze uiteindelijk correct in een excel-sheet overtiept..

Wil je een automatiseringsoplossing bedenken, moet je de garantie hebben dat data correct is, up-to-date en volledig:
oftewel alle producten staan in een database tabel, en alle bestellingen worden opgeslagen waarbij via de ID de producten aan een bestelling gekoppeld worden.

als het bedrijf niet hun database wil onderhouden, moeten ze er sowieso niet aan beginnen.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Juist als je veel wijzigt is het belangrijk om een abstract nummer aan een artikel te hangen. Als een artikel geen nummer heeft, verzin je zelf maar een unieke.

Nofi, maar zeker als het dus al een grote, bestaande database is en je hebt zo veel vragen, cq voorbeelden nodig, zou ik de klus aan me voorbij laten schieten.

Je haalt jezelf een groot probleem op de hals, een probleem dat ontstaan is door het brakke ontwerp van een DBA in het verleden.
edit:
Een beetje wat RM -rf zegt dus. ;)

[ Voor 22% gewijzigd door Voutloos op 02-02-2005 09:51 ]

{signature}


  • DarkFire
  • Registratie: November 2003
  • Laatst online: 26-04 15:23
RM-rf ik snap je reactie!

ik ben ook bezig om in een bestelling product id`s toe te voegen

Aangezien er dus op dit moment niet alles in de database staat wil ik juist dat het word toegevoegd als het er niet in staat, zodat hij uiteindelijk wel compleet word
Pagina: 1