2011-01-07 7 views
0

Ich möchte eine Änderung von der Dropdown auf das Kontrollkästchen, ich möchte es ändern, weil ich zuerst die Liste im Array auswählen möchte vor der Speicherung in der Datenbank über das Kontrollkästchen ausgewählt werden, so das Drop-Down-Skript war alsändern Drop-Down von Array zu Kontrollkästchen

<?php 
session_start(); 
define('DEFAULT_SOURCE','Site_A'); 
define('DEFAULT_VALUE',100); 
define('DEFAULT_STC','BGS'); 
include('class/stockconvert_class.php'); 
$st = new st_exchange_conv(DEFAULT_SOURCE); 
if(isset($_GET['reset'])) { 
    unset($_SESSION['selected']); 
    header("Location: ".basename($_SERVER['PHP_SELF'])); 
    exit(); 
} 
?> 
<form action="do.php" method="post"> 
<label for="amount">Amount:</label> 
<input type="input" name="amount" id="amount" value="1"> 
<select name="from"> 
<?php 
$stocks = $st->stocks(); 
asort($stocks); 
foreach($stocks as $key=>$stock) 
{ 
    if((isset($_SESSION['selected']) && strcmp($_SESSION['selected'],$key) == 0) || (!isset($_SESSION['selected']) && strcmp(DEFAULT_STC,$key) == 0)) 
    { 
    ?> 
    <option value="<?php echo $key; ?>" selected="selected"><?php echo $stock; ?></option> 
    <?php 
    } 
    else 
    { 
    ?> 
    <option value="<?php echo $key; ?>"><?php echo $stock; ?></option> 
    <?php 
    } 
} 
?> 
</select> 
<input type="submit" name="submit" value="Convert"> 
</form> 

folgt und ich änderte es das Kontrollkästchen als

<?php 
session_start(); 
define('DEFAULT_SOURCE','Site_A'); 
define('DEFAULT_VALUE',100); 
define('DEFAULT_STC','BGS'); 
include('class/stockconvert_class.php'); 
$st = new st_exchange_conv(DEFAULT_SOURCE); 
if(isset($_GET['reset'])) { 
    unset($_SESSION['selected']); 
    header("Location: ".basename($_SERVER['PHP_SELF'])); 
    exit(); 
} 
?> 
<form action="do.php" method="post"> 
<label for="amount">Amount:</label> 
<input type="input" name="amount" id="amount" value="1"><input type="submit" name="submit" value="Convert"> 
<?php 
$stocks = $st->stocks(); 
asort($stocks); 
foreach($stocks as $key=>$stock) 
{ 
    if((isset($_SESSION['selected']) && strcmp($_SESSION['selected'],$key) == 0) || (!isset($_SESSION['selected']) && strcmp(DEFAULT_STC,$key) == 0)) 
    { 
    ?> 
    <br><input type="checkbox" id="scb1" name="from[]" value="<?php echo $key; ?>" checked="checked"><?php echo $stock; ?> 
    <?php 
    } 
    else 
    { 
    ?> 
    <br><input type="checkbox" id="scb1" name="from[]" value="<?php echo $key; ?>"><?php echo $stock; ?> 
    <?php 
    } 
} 
?> 
</form> 

folgt aber nicht funktioniert, bin ich Andere Codes im Zusammenhang angezeigt werden müssen?

Dank wenn jemand Hilfe, Innovationen zu erkennen und

AKTUALISIERT: ok Beitrag der scheinbar weniger offensichtlich zuerst, also werde ich das Problem der Fehler

der Fehler Fatal error hinzufügen: Aufruf zu undefinierter Methode st_exchange_conv :: convert() in C: \ xampp \ htdocs \ test \ do.php auf der Leitung 21 21

Linie $st->convert($from,$key,$date);

session_start(); 
if(isset($_POST['submit'])) 
{ 
    include('class/stockconvert_class.php'); 
    $st = new st_exchange_conv(DEFAULT_SOURCE); 
    $from = mysql_real_escape_string(stripslashes($_POST['from'])); 
    $value = floatval($_POST['amount']); 
    $date = date('Y-m-d H:i:s'); 
    $_SESSION['selected'] = $from; 
    $stocks = $st->stocks(); 
    asort($stocks); 

    foreach($stocks as $key=>$stock) 
    { 
     $st->convert($from,$key,$date); 
     $stc_price = $st->price($value); 
     $stock = mysql_real_escape_string(stripslashes($stock)); 
     $count = "SELECT * FROM oc_stock WHERE stock = '$key'"; 
     $result = mysql_query($count) or die(mysql_error()); 
     $sql = ''; 
     if(mysql_num_rows($result) == 1) 
     { 
      $sql = "UPDATE oc_stock SET stock_title = '$stock', stc_val = '$stc_price', date_updated = '$date' WHERE stock = '$key'"; 
     } 
     else 
     {  
     $sql = "INSERT INTO oc_stock(stock_id,stock_title,stock,decimal_place,stc_val,date_updated) VALUES ('','$stock','$key','2',$stc_price,'$date')"; 
     } 
     $result = mysql_query($sql) or die(mysql_error().'<br />'.$sql); 
    } 
    header("Location: index.php"); 
    exit(); 
} 

Warum möchte ich es von Dropdown zu Checkbox ändern? weil mit Checkbox Liste ich in der Lage sein wird zu wählen, welche ich überprüft habe, war der Eingang zur Datenbank, dann scheint es nicht einfach zu mir, ich suche nach etwas Hilfe < danke So viel für Sie Kumpel.

+0

Bitte spezifizieren Sie "funktioniert nicht"! Gibt es einen Fehler im PHP-Code? Oder ist die HTML-Ausgabe nicht korrekt/gültig? – Simon

+0

OK, jetzt habe ich bereits aktualisiert, bitte sehen Sie, danke Simon – omc11

+0

Ihr neuer Fehler bedeutet, dass es die Konvertierungsmethode nicht finden kann .... Ist das in Ihrer Klasse definiert? – CarpeNoctumDC

Antwort

0

Sie haben den öffnenden Tag <select> nicht entfernt.

Aber Sie haben die <submit> Schaltfläche entfernt.

Sie haben die name von "von" in "von []" geändert.

EDIT: Nach Ihren Ergänzungen:

die Dropdown-Liste Verwenden Sie nur in der Lage waren für from einen Wert auszuwählen. Jetzt haben Sie es in Checkboxen geändert und können somit mehrere Einträge auswählen. Dies führt zu einem Array from[] in Ihrem Skript in do.php. Ihre Funktionen dort sind nicht in der Lage, Arrays oder Mehrfachselektionen in irgendeiner Weise zu behandeln.

Sie müssen do.php neu gestalten, ändern Sie Ihr Formular zurück in eine Dropdown-Liste oder verwenden Sie stattdessen Verhältnis Schaltflächen.

+0

obwohl ich es zurück von "von []" zu "von" habe. aber immer noch Fehler, aber ich schätze deine Hilfe, danke nochmal – omc11

+0

Ok, deine Änderungen geklärt viel. Ich habe auch die Antwort bearbeitet. – Simon

+0

Ich schätze deine Zeit für diesen Simon, ich habe zum zweiten Mal aktualisiert, hoffentlich hast du eine Idee nach dem ich komplett gelesen habe was ich suche, danke nochmal. – omc11

Verwandte Themen