Mehrere Textfelder verfeinern die Suche aus MySQL-DB LIVE

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrere Textfelder verfeinern die Suche aus MySQL-DB LIVE

    Schönen Guten Morgen,

    Erst einmal kurz zu mir:
    Ich bin (w) 23 Jahre und erbeite hauptsächlich mit PHP, MySql. Was ich gar nicht mag ist JS. Von daher tue ich mir sehr schwer mich in Ajax einzulesen. Die letzte Nacht gehörte mir und meinem Laptop ganz alleine, aber leider bin ich nicht zum gewünschen Ziel gekommen.

    Idee:
    Ich programmiere für meinen Cousin eine Web-Aplikation für Kundenmanagement. D.H. eine Kundendatenbank, Lagerverwaltung, Kalender usw.
    Ich habe einmal einen Screenshot beigefügt und möchte hierzu einmal kurz erklären, was ich gerne machen würde und vielleicht ist einer von Euch so nett mir dazu Hilfestellung zu geben.

    Auf der linken Seite habe ich ein HTML Formular mit verschiedenen Eingabefeldern (Name, Vorname, Geb_Tag, Geb_Monat, Geb_Jahr, PLZ),
    was ich gerne hätte ist eine LIVE - Suche mit diesen Feldern aus einer MySQL DB. Wenn man den Namen ganz oder nur teilweise angeibt die Auswahl auf der rechten Seite (Suchergebnis) mit den nächsten Feldern PLZ usw. noch verfeinern kann.

    Lösung:
    keine Ahnung, PHP oder MySql ist kein Thema

    Wenn du mir helfen könntest, würde ich mich sehr darüber freuen.
    Ein schönes Wochenende.

    LG
    Beni

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von beni ()

  • Hey
    das ist eigentlich ein recht einfaches Vorhaben, ich habe dir mal zwei unserer HowTos verknüpft:
    • [coderwiki]http://www.coder-wiki.de/HowTos/JavaScript-Alle-Formularelemente-verarbeiten[/coderwiki]
    • [coderwiki]http://www.coder-wiki.de/HowTos/Ajax-Inhalte-mit-PHP-und-Select-nachladen[/coderwiki]


    Die einzigen Änderungen, über die die beiden HowTos verknüpft werden, betreffen #18 und #32.

    Quellcode

    1. <html>
    2. <head>
    3. <script type="text/javascript">
    4. function getFormData(form) {
    5. var ret = [];
    6. var add = function(n, v) { ret.push( escape(n) + '=' + escape(v) ); };
    7. for(var i = 0; i < form.elements.length; i++ ){
    8. var el = form.elements[i];
    9. var type = (el.type || '').toLowerCase();
    10. if( type == 'text') add(el.name, el.value);
    11. else if(type.indexOf('select') > -1) {
    12. for(var j = 0; j < el.options.length; j++)
    13. if(el.options[j].selected) add(el.name, el.options[j].value);
    14. } else if(el.checked) add(el.name, el.value);
    15. }
    16. return ret.join('&');
    17. }
    18. function sendRequest(form) {
    19. try {
    20. req = window.XMLHttpRequest?new XMLHttpRequest():
    21. new ActiveXObject("Microsoft.XMLHTTP");
    22. } catch (e) {
    23. //Kein AJAX Support
    24. }
    25. req.onreadystatechange = handleResponse;
    26. req.open('POST', 'func.php');
    27. req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    28. req.send(getFormData(form));
    29. return false;
    30. }
    31. function handleResponse() {
    32. if ((req.readyState == 4) && (req.status == 200)) {
    33. document.getElementById('inhalt').innerHTML = req.responseText;
    34. }
    35. }
    36. </script>
    37. </head>
    38. <body>
    39. <form onsubmit="return sendRequest(this)">
    40. <input type="text" name="feld1" value="value1" />
    41. <input type="text" name="feld2" value="value2" />
    42. <input type="text" name="feld3" value="value3" />
    43. <input type="submit" value="Abschicken" />
    44. </form>
    45. <div id="inhalt"></div>
    46. </body>
    47. </html>
    Alles anzeigen


    In der func.php machst du für den Anfang ein <?php print_r($_POST); ?>.
    Dort bastelst du dir dann einfach dein passendes MySQL Query und die Ausgabe dazu.
  • Einen schönen Abend,

    so jetzt habe ich es zwei Tage versucht, leider vergebens. Gibt es die Möglichkeit einmal ein Beispiel zu sehen oder ggf. Anzupassen.
    Vielleicht sehe ich das ganze viel zu kompliziert an, aber ich bekomme es einfach nicht hin. Eine Fehlermeldung wird gefolgt von der anderen.

    Ich Danke Euch für jeden Tipp oder jede Idee

    Eine schöne Nacht!!

    Lg
  • Hi,

    meine Schwierigkeit liegt darin, das ich es nicht an meine eigenen scripten angepasst bekomme.
    Die Wiki-Scripte klappen wurderbar, so wie sie vorgesehen sind.
    Was meist du denn mit diesem Satz
    In der func.php machst du für den Anfang ein <?php print_r($_POST); ?>.
    Dort bastelst du dir dann einfach dein passendes MySQL Query und die Ausgabe dazu.
    Die PHP -Abfrage hab ich mir ja schon gebastelt diese sieht so aus, bei meiner bisherigen Version:

    Quellcode

    1. // Kundensuche bezogen auf vorhandenen Vornamen und Nachnamen
    2. if(!empty($_POST[ks_name]) AND !empty($_POST[ks_vorname])) {
    3. $anfrage = "SELECT * FROM kunden_db WHERE name = '$_POST[ks_name]' AND vorname = '$_POST[ks_vorname]'";
    4. }
    5. // Kundensuche anhand der PLZ
    6. if(!empty($_POST[ks_plz])) {
    7. $anfrage = "SELECT * FROM kunden_db WHERE plz = '$_POST[ks_plz]'";
    8. }
    9. $ergebnis = mysql_query($anfrage);
    10. $i= "1";
    11. while($zeile = mysql_fetch_array($ergebnis)){
    12. if (0==($i%2)){
    13. $tr = "";
    14. }
    15. else {
    16. $tr="";
    17. }
    18. echo $tr;
    19. // Anfang der While schleife ?>
    20. ,
    Alles anzeigen

    Eine weitere Frage ist, dein vorgegebenes Script bassiert auf ein query. Ich habe aber verschiedene Felder, wie kann ich diese übergeben an die func.php

    Lg