Hallo!
Ich weiß gar nicht, ob es nun mehr ins SQl oder doch ins php-Forum gehört....
Ich verbinde mich mittels mssql_connect auf einen SQL-Server.
In meiner php-Datei hab ich ein Formular mit 2 select-Listen. Die Werte in den Listen werden aus der DB gelesen.
Diese Group By - Abfrage funktioniert so aber nur bei mysql_query, nicht mit msssql_query.
Fehlerie wert_tab.id-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist
Nach etlichen googeln bin ich zu dieser Lösung in der SQL-Abfrage gekommen:
Nun werden mir zwar in der select-Liste keine in der DB doppelt vorhandenen Veranstalter ausgegeben, sondern alle werte nur einmal. Aber mein id stimmen nun beim Absenden des Formulars nicht mehr.
Wie kann ich das Problem lösen?
Ich weiß gar nicht, ob es nun mehr ins SQl oder doch ins php-Forum gehört....
Ich verbinde mich mittels mssql_connect auf einen SQL-Server.
In meiner php-Datei hab ich ein Formular mit 2 select-Listen. Die Werte in den Listen werden aus der DB gelesen.
PHP:
# Auslesen der Auswahloptionen aus der Datenbank
$sql2 = "SELECT veranstalter, id FROM wert_tab GROUP BY veranstalter";
$result2 = mssql_query($sql2) OR die("<br>Anfrage von Variable SQL konnte nicht ausgeführt werden.");
$num2 = mssql_num_rows($result2)OR die('MSSQL-Fehler: ' . mssql_get_last_message());
echo '<option value="b" selected>keine Auswahl</option>';
#Schleife zum kompletten Auslesen
for($i = 0; $i<$num; $i++){
$veranstalter_id = mssql_result($result2,$i,'id');
$veranstalter_name = mssql_result($result2,$i,'veranstalter');
if ($veranstalter == $veranstalter_id){
echo '<option value="'.$veranstalter_id.'" selected>'.$veranstalter_name.'</option>';
}
else{
echo '<option value="'.$veranstalter_id.'">'.$veranstalter_name.'</option>';
}
Fehlerie wert_tab.id-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist
Nach etlichen googeln bin ich zu dieser Lösung in der SQL-Abfrage gekommen:
PHP:
$sql2 = "SELECT veranstalter, count(id) AS 'id' FROM bewertungen_tab GROUP BY veranstalter";
Nun werden mir zwar in der select-Liste keine in der DB doppelt vorhandenen Veranstalter ausgegeben, sondern alle werte nur einmal. Aber mein id stimmen nun beim Absenden des Formulars nicht mehr.
Wie kann ich das Problem lösen?
Zuletzt bearbeitet: