Woher weiss ich wie der DB Befehl lauten muss?

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

  • Woher weiss ich wie der DB Befehl lauten muss?

    Hallo ich habe eine Frage und zwr wenn ich eine erweiterung machen für das wBB woher weiss ich wie die Abfrage die ich in der Datenbank brauche heist und wie erstelle ich sie?

    Bitte erklärt es mir ie ein Kind den es ist neu land für mich.;)

    Ich gebe mal ein Bespiel , ich habe eine php erstellt die auch schon DB einträge hat nun möchte ich diese erweitern um ein Feld in dem man ein Angebot auswählen kann was man mit Optionen auswählen kann , wie müsste das gemacht werden?
    Inhalt der php:

    Quellcode

    1. //**************************************//
    2. //* ~ bestellungs formular wbb2.3.x *//
    3. //* ~ Author: Shorty ~ *//
    4. //**************************************//
    5. $filename = 'bestellung.php';
    6. require('./global.php');
    7. if(!$wbbuserdata['can_use_bestellung']) eval("\$tpl->output(\"".$tpl->get("access_error")."\");");
    8. $lang->load('bestellung');
    9. //set variables
    10. $lang->items['LANG_BESTELLUNG_COPY'] = $lang->get("LANG_BESTELLUNG_COPY", array('$date' => $date, '$version' => $version));
    11. if (isset($_POST['anrede'])) $anrede = htmlconverter($_POST['anrede']);
    12. if (isset($_POST['name'])) $name = htmlconverter($_POST['name']);
    13. if (isset($_POST['vorname'])) $vorname = htmlconverter($_POST['vorname']);
    14. if (isset($_POST['email'])) $email = htmlconverter($_POST['email']);
    15. if (isset($_POST['street'])) $street = htmlconverter($_POST['street']);
    16. if (isset($_POST['streetn'])) $streetn = htmlconverter($_POST['streetn']);
    17. if (isset($_POST['plz'])) $plz = htmlconverter($_POST['plz']);
    18. if (isset($_POST['ort'])) $ort = htmlconverter($_POST['ort']);
    19. if (isset($_POST['phone'])) $phone = htmlconverter($_POST['phone']);
    20. if (isset($_POST['fax'])) $fax = htmlconverter($_POST['fax']);
    21. if (isset($_POST['betreff'])) $betreff = htmlconverter($_POST['betreff']);
    22. if (isset($_POST['text'])) $text = htmlconverter($_POST['text']);
    23. if (!$wbbuserdata[username]) $username = 'gast';
    24. else $username = $wbbuserdata[username];
    25. $bestellung_errors='';
    26. $checkbox = array("", "");
    27. if($anrede=='Herr') $checkbox[0]="checked=\"checked\"";
    28. if($anrede=='Frau') $checkbox[1]="checked=\"checked\"";
    29. $result = $db->query("SELECT value FROM bb".$n."_bestellungsettings");
    30. while($row = $db->fetch_array($result)) {$conset[] = $row['value'];}
    31. //using schema from floodcontrol (./acp/lib/functions.php by Burntime)
    32. function flood($userid, $ipaddress, $blocktime) {
    33. global $db, $n;
    34. if($userid!=0) $result = $db->query_first("SELECT postid FROM bb".$n."_bestellungpost WHERE userid='$userid' AND postdate>='".(time() - $blocktime)."'", 1);
    35. else $result = $db->query_first("SELECT postid FROM bb".$n."_bestellungpost WHERE ipaddress='$ipaddress' AND postdate>='".(time() - $blocktime)."'", 1);
    36. if ($result['postid']) return true;
    37. else return false;
    38. }
    39. if(isset($_POST['preview'])) {
    40. if(!isset($anrede)) $anrede="{$lang->items['LANG_BESTELLUNG_PLEASE']}";
    41. if($name || $vorname) {$nv=$name.", ".$vorname;}
    42. else {$nv="<font style=\"color:#ff0000\">{$lang->items['LANG_BESTELLUNG_KNAME']}</font>";}
    43. if($email) {$em=$email;}
    44. else {$em="<font style=\"color:#ff0000\">{$lang->items['LANG_BESTELLUNG_KEMAIL']}</font>";}
    45. if($street || $streetn) {$adr=$street." / ".$streetn;}
    46. else {$adr="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    47. if($plz || $ort) {$home=$plz." / ".$ort;}
    48. else {$home="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    49. if($phone) {$ph=$phone;}
    50. else {$ph="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    51. if($fax) {$pf=$fax;}
    52. else {$pf="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    53. if($betreff) {$betref=$betreff;}
    54. else {$betreff="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    55. if($text) {$textp=$textpre;}
    56. else {$textp="{$lang->items['LANG_BESTELLUNG_KEIN']}";}
    57. eval("\$bestellung_preview = \"".$tpl->get("bestellung_preview")."\";");
    58. }
    59. if(isset($_POST['send'])) {
    60. if(!$text || !$betreff || !$name || !$vorname || !$anrede || !$email) {
    61. $colem = "style=\"border-color: #ff0000; background-color: #F1BBBB\"";
    62. $bestellung_errors.= $lang->items['LANG_BESTELLUNG_ERROR1'];
    63. }
    64. else {
    65. if(!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email) && $bestellung_errors == '') {
    66. $coleem = "style=\"border-color: #ff0000; background-color: #F1BBBB\"";
    67. $bestellung_errors.= $lang->get("LANG_BESTELLUNG_ERROR2", array('$email' => $email));
    68. }
    69. }
    70. $ipadress = getenv(REMOTE_ADDR);
    71. $blocktime = $conset[0];
    72. if(flood($wbbuserdata['userid'], $ipaddress, $blocktime))
    73. $bestellung_errors.= $lang->get("LANG_BESTELLUNG_ERROR3", array('$blocktime' => $blocktime));
    74. if($bestellung_errors) eval("\$bestellung_error = \"".$tpl->get("bestellung_error")."\";");
    75. else {
    76. //insert content into db
    77. $db->query("INSERT INTO bb".$n."_bestellungpost (userid, username,ipadresse, name, vorname, email, street, streetn, plz, ort, phone, fax, title, post, postdate) VALUES ('$wbbuserdata[userid]', '$username', '".addslashes($ipadress)."', '".addslashes($name)."', '".addslashes($vorname)."', '".addslashes($email)."', '".addslashes($street)."', '".addslashes($streetn)."', '".addslashes($plz)."', '".addslashes($ort)."', '".addslashes($phone)."', '".addslashes($fax)."', '".addslashes($betreff)."', '".addslashes($text)."','".time()."')");
    78. //send mail to admin
    79. $header1.="From: \"$name\" <$email>\n MIME-Version: 1.0\n Content-Type: text/html\n X-Mailer: PHP/".phpversion();
    80. $anr = "\nAnrede: ". $anrede. "\nName: ". $name ."\nVorname: ". $vorname;
    81. $ema = "\nE-Mail-Adresse: ".$email;
    82. if($conset[1] == 1) $stree = "\nStraße/Nummer: ". $street . $streetn ."\nPLZ/Ort: ". $plz . $ort;
    83. else $stree = '';
    84. if($conset[2] == 1) $phon = "\nTelefon: ". $phone;
    85. else $phon = '';
    86. if($conset[3] == 1) $telef = "\nTelefax: ". $fax;
    87. else $telef='';
    88. $mes = "\nAnfrage: ".$text;
    89. $nachricht1.= $anr . $ema . $stree . $phon . $telef . $mes;
    90. //mail($webmastermail,$betreff,$nachricht1,$header1);
    91. //send thanksmail to user
    92. $subject2 = "Danke für die Anfrage: ". $betreff;
    93. $danke = $lang->get("LANG_BESTELLUNG_THANKS", array('$anr' => $anr, '$nachricht1' => $nachricht1));
    94. $an2 = "\"$name\" <$email>";
    95. //mail($an2,$subject2,$danke,$header1);
    96. eval("\$bestellung_send = \"".$tpl->get("bestellung_send")."\";");
    97. }
    98. }
    99. eval("\$tpl->output(\"".$tpl->get("bestellung")."\");");
    Alles anzeigen


    Gruss
  • "Shorty" schrieb:

    woher weiss ich wie die Abfrage die ich in der Datenbank brauche heist und wie erstelle ich sie?


    was genau meinst du damit?
    den code unten hast du doch selber erstellt, oder?
    da greifst du ja schon auf wbb klassen wie $tpl, $lang und $db zu.

    in $db kannst du wohl alle queries laufen lassen
    also auch inserts, updates, selects..

    beispiele sind ja direkt im code

    Quellcode

    1. while($row = $db->fetch_array($result))
    2. {
    3. ...
  • "shorty" schrieb:

    nun möchte ich diese erweitern um ein Feld in dem man ein Angebot auswählen kann was man mit Optionen auswählen kann


    ??

    verstehst du denn alles was in dem code steht?
    sorry, wenn ich dir in meinem ersten posting viel mut gemacht hab, den ich dir jetzt wieder nehmen muss
    aber ohne html basics kommst du hier nicht weiter

    eine auswahl machst du so

    Quellcode

    1. <select name="angebot">
    2. <option value="">angebot1</option>
    3. <option value="">angebot2</option>
    4. <option value="">angebot3</option>
    5. </select>


    aber die optionen kommen ja nicht von ungefähr.. ein paar update, insert, delete befehle musst du schon lernen
  • ich weiß nicht was du erreichen willst

    dein geposteter code kümmert sich um die verarbeitung eines formulars

    "Shorty" schrieb:

    nun möchte ich diese erweitern um ein Feld in dem man ein Angebot auswählen kann was man mit Optionen auswählen kann


    wenn du eine zusatzoption hinzufügen willst, musst du also erstmal ein zusätzliches formularelement im html code hinzufügen
    das geht mit wie angedeutet mit <select> und <option>
    kannst ja erstmal ohne mysql arbeiten, damit erstmal die funktionalität stimmt

    das willst du also speichern - dazu willst du vermutlich die bestehende mysql tabelle um eine spalte erweitern? das geht mit alter table (musst du nur einmalig ausführen - mit phpMyAdmin?)
    http://dev.mysql.com/doc/refman/5.1/de/alter-table.html

    "Shorty" schrieb:

    das ergebniss was angegeben wurde soll aber auch in der Mail die versendet wir übernommen werden?


    dazu musst du einfach nur wissen, wie man variablen und strings aneinanderreiht

    Quellcode

    1. $var = 'string'.$variable.'string'.$variable;


    aber natürlich solltest du den text nicht in den code schreiben, sondern in der template datei "bestellung_send" einen platzhalter dazu einfügen