Is het mogelijk om een sql dump in een javascript te verwerken? Onderstaande werkt nl. niet.

[code]

<Script>
cols += '<td><select name="btw[]" id="btw" class="form-control input-sm">
<?php
$query35 = "SELECT * FROM btwtarief ORDER BY btwoms ASC";
$uitvoeren35 = mysql_query($query35) or die (error($query35, $HTTP_SERVER_VARS['PHP_SELF']));

While ($row35 = mysql_fetch_array($uitvoeren35))
{
echo '<option value="'.$row35['btwoms'].'">'.$row35['btwoms'].'</option>';
}
mysql_free_result($uitvoeren35);
?>
</select></td>';
<script>
[code]

<Script>
cols += '<td><select name="btw[]" id="btw" class="form-control input-sm">';
        <?php
        $query35 = "SELECT * FROM btwtarief ORDER BY btwoms ASC";
        $uitvoeren35 = mysql_query($query35) or die (error($query35, $HTTP_SERVER_VARS['PHP_SELF']));

        While ($row35 = mysql_fetch_array($uitvoeren35))
        {
            echo 'cols += \'<option value="'.$row35['btwoms'].'">'.$row35['btwoms'].'</option>\';';
        }
        mysql_free_result($uitvoeren35);
        ?>
        cols += '</select></td>';
</script>


Zoiets?
Daarnaast: Gebruik MySQLi of PDO, $HTTP_SERVER_VARS? Hoe lang bestaat die al niet meer? Waarom voor elke query een nieuwe variabele maken?
Opzich kan het gewoon, wat geeft je HTML-output in de browser aan?

Verder is de code wel behoorlijk oud en inefficiënt:

- Gebruik geen genummerde variabelen. Dit kan verwarring scheppen. Noem de query gewoon bij wat het doet:
$sql_tarieven (de string met je SQL-query)
$result_tarieven (uitvoeren van de query)
$row_tarieven['btwoms']

- Hall alle nodige velden op, en vermijd *. In een bibliotheek zoek je toch ook eerst alle boeken op die je wilt doorbladeren aan de boekentafel? Of pak jij dan gewoon de hele kast mee? ;-)

- MySQL-functies voor PHP zijn uit de tijd, gebruik liever de MySQLi- of PDO-functies.
- Foutafhandeling met die() is niet netjes. Als iemand iets fout doet ga je niet dood, je zoekt altijd een nette uitweg.
- $HTTP_SERVER_VARS is antiek sinds 2001 (!) ofzo: Gebruik $_SERVER
- mysql_free_result() is niet echt nodig meer, tegenwoordig. MySQL ruimt alles uit het geheugen zelf op nadat het script is uitgevoerd. Verder is deze functie ook uit de tijd.

Verder zou ik liever de informatie uit een JSON-string halen met AJAX, als het het nog eleganter wilt oplossen.

var data= JSON.parse(output_van_je_ajax);

Of met jQuery:
http://api.jquery.com/jquery.getjson/

Reageren