login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dynamisch klantensysteem (Opgelost)

Offline p1n0 - 12/04/2007 09:43
Avatar van p1n0Nieuw lid Ik zit met het volgende probleem:

Ik heb een tabel met type klanten, dus bijvoorbeeld klanten voor drukwerk, klanten voor websites, klanten voor onderhoud enz.

Nu wil ik bij het toevoegen van een nieuwe klant aan kunnen geven wat voor type klant het is. Maar als type zijn er dus meerdere mogelijkheden: je maakt bv voor een klant een website en doet ook onderhoud aan die site. Er moeten dus 2 opties aangeklikt kunnen worden: bv door een checkbox of door een multiple selectbox.

Nou is mijn vraag hoe kan ik hier het best mee aan de slag gaan om het compleet dynamisch te houden?

Alvast bedankt

19 antwoorden

Gesponsorde links
Offline ArndJan - 12/04/2007 09:46 (laatste wijziging 12/04/2007 09:48)
Avatar van ArndJan PHP interesse dat is niet zo moeilijk:

  1. <select name='klant_type'>
  2. <?php
  3.  
  4. $query = mysql_query("SELECT * FROM klant_type");
  5.  
  6. while($rij = mysql_fetch_array($query))
  7. {
  8. echo "<option>".$rij['type_omschrijving']."</option>";
  9. }
  10.  
  11. ?>
  12. </select>


Je leest al je klant typen uit en stop dat in een formuliertje en daarmee kun je een klant toevoegen.

Succes ermee 
Offline p1n0 - 12/04/2007 09:50
Avatar van p1n0 Nieuw lid maar met <select> kan je toch maar 1 type selecteren?
Offline ArndJan - 12/04/2007 09:53
Avatar van ArndJan PHP interesse Hoe bedoel je je leest nu gewoon alle typen uit die je hebt in de tabel. En die laat in select en als je meerder typen wilt selecteren maak je het iets moeilijker maar dat kan wel dan moet de dit doen:

  1. <select size='5' multiple>


Dan zie je 5 type en nu kun je meerdere opties selecteren!

Zoiets dan? 
Offline p1n0 - 12/04/2007 10:16
Avatar van p1n0 Nieuw lid ja idd dit had ik al, maar mijn probleem is dan, als ik meerdere opties selecteer, gooit hij alleen de laatst geselecteerde optie in de db.
Enig idee wat dit kan zijn?
Offline ArndJan - 12/04/2007 10:19
Avatar van ArndJan PHP interesse Kun je je code even plaatsen?
Offline p1n0 - 12/04/2007 10:37
Avatar van p1n0 Nieuw lid als ik m'nn code wil plaatsen krijg ik steeds: Deze fout (HTTP-fout 406 - Niet geaccepteerd) houdt in dat informatie van de bezochte website is ontvangen, maar de informatie heeft een indeling die niet door Internet Explorer kan worden weergegeven.
Offline ArndJan - 12/04/2007 10:39 (laatste wijziging 12/04/2007 10:40)
Avatar van ArndJan PHP interesse Hmm, en kun je hier ook niet even het stukje laten zien waar het om gaat?

  1. [code]Hier de code
[/code]

:s 
Offline p1n0 - 12/04/2007 10:41
Avatar van p1n0 Nieuw lid op die manier geprobeerd en via plaatscode.be, echt vaag :S
Offline ArndJan - 12/04/2007 10:43 (laatste wijziging 12/04/2007 10:43)
Avatar van ArndJan PHP interesse Humm....

Probeer het eens duidelijk te omschrijven (je probeleem met de klanten) en het je zelf geen internet host?

Ik zie het wel succes ermee 
Offline p1n0 - 12/04/2007 10:50 (laatste wijziging 12/04/2007 10:55)
Avatar van p1n0 Nieuw lid
  1. <?
  2. $sql7 = "SELECT * FROM categorie_soort ORDER BY soort";
  3. $result7 = mysql_query($sql7) or die(mysql_error());
  4. if (mysql_num_rows($result7) == 0)
  5. {
  6. }
  7. else
  8. {
  9. ?><tr><td><select name="typekl" multiple="multiple" size="5"><?
  10. while ($row7 = mysql_fetch_object($result7))
  11. {
  12. echo "<option value='$row7->soort'>$row7->soort</option>";
  13. }
  14. ?></select></td></tr><?
  15. }
  16. ?>
Offline ArndJan - 12/04/2007 11:03
Avatar van ArndJan PHP interesse Wat is de output van het formulier veld » typek1 na een submit?
Offline p1n0 - 12/04/2007 11:08 (laatste wijziging 12/04/2007 11:09)
Avatar van p1n0 Nieuw lid als ik bv drukwerk en website selecteer, zet hij alleen website in de het typekl veld, terwijl dit dus drukwerk en website moeten zijn. Dat moet toch wel mogelijk zijn neem ik aan?
Offline ArndJan - 12/04/2007 11:21
Avatar van ArndJan PHP interesse Dat moet mogelijk zijn ja.

Ik denk dat er in de output een lus moet komen waarin je de geselecteerde waardes weer kan uitlezen.

Doe het anders een zo:

  1. <?php
  2.  
  3. $count = 0;
  4. while($rij = mysql_fetch_array($query))
  5. {
  6. $count++;
  7. echo "<input type='checkbox' name='".$count."'>".$rij['naam_type']."<br>";
  8. }


En nu in de code waar je formulier uitleest:

  1. <?php
  2. $aantal_type = 5;
  3. for($i = 0;$i <= $aantal_type;$i++)
  4. {
  5. if(isset($_POST[$i]))
  6. {
  7. // Update database
  8. }
  9. }
  10. ?>


Zo misschien? 
Offline p1n0 - 12/04/2007 11:44
Avatar van p1n0 Nieuw lid op deze manier slaat hij toch ook iedere keer de laatst aangeklikte typeklant op? want je slaat eerst bv website op en dan update hij dat veld weer en dan slaat hij weer drukwerk op, dus dan blijf je nog hetzelfde probleem houden.

iig bedankt voor je hulp steeds!!
Offline ArndJan - 12/04/2007 11:46
Avatar van ArndJan PHP interesse Hij zou het moeten doen ik heb het wel eens in een email script gebruikt bij verwijderen dat komt een beetje overeen.

Maar als je problemen hebt hoor ik het wel greetz 
Offline p1n0 - 13/04/2007 09:11
Avatar van p1n0 Nieuw lid Heb gisterenavond nog een tijdje met het probleem gestoeid, maar helaas bleef alleen de laatst geselecteerde optie (van de 2 die ik geselecteerd had) opgeslagen in de db.
Offline ArndJan - 13/04/2007 09:53
Avatar van ArndJan PHP interesse Wat is de output van alleen de post actie zonder database query?
Offline bertenz - 13/04/2007 11:03
Avatar van bertenz HTML beginner Als ik het goed begrijp wil "p1n0" verschillende waarden opslaan in één cel van een tabel (bijv. "klanten"). Als dit niet klopt, kun je deze post als niet verzonden beschouwen 

Als dit wel klopt, zou je het bijvoorbeeld op kunnen lossen door voor elke combinatie een "code" te verzinnen, zoiets als dit:
1 = Onderhoud
2 = Website maken
3 = Onderhoud + Website maken
enz...

Als je dit geen fijne manier vindt, zou je ook kunnen kiezen voor een aparte tabel waarin je de volgende kolommen hebt:
- ID
- Klant_id
- Klant_type

Als een klant dan zowel "onderhoud" als "website maken" aangevinkt heeft, dan komt die gewoon 2 keer in bovenstaande tabel te staan, maar dan één keer met "onderhoud" en één keer met "website maken".

@p1n0: uit jouw eerste bericht kon ik eigenlijk alleen opmaken dat je een probleem had met verschillende waarden in één cel zetten en niet dat het niet lukte om een formulier uit te lezen.
Offline p1n0 - 13/04/2007 12:17
Avatar van p1n0 Nieuw lid Yes, m'n probleem is opgelost, ik heb een deel van de code van ArndJan gebruikt, maar de update onder de for loop gezet en nu werkt het!

Onwijs bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.444s