warscript ...

... hi
ich will gern oder habe schon ein warscript geschrieben ... nun will noch ein hinzufügen. Ich will es nach Ligen sortieren nun will ich das es per "liste" ( formular ) dann auf go das es dann sortiert wird nur habe ich absolut kein plan davon wie das funktionieren soll
ich habe 2 tabellen ein mal :

wars <-- in dem die ganzen wars eingefügt sind und
wars_ligen <-- in dem alle ligen stehen (cs)

aber echt kein plan wie.
... bin für jede Hilfe dankbar ...

cya
 
also erstmal müsste die ligen in einer eigenen spalte,namens liga, in der wars tabelle eingetragen sein.

dann mit dem SQL-Befehl:
SELECT * FROM `wars` ORDER BY `liga` ASC
 
hmm ne das ist eher nicht mein ziel ... ich will das die neusten wars oben angezeigt werden aber das man ueber eine liste, in der alle ligen stehen, aussuchen kann was "nur" angezeigt werden soll.
z.B. will ich nur alle ESL wars sehen dann waehle ich es in der liste aus und schon werden nur die ESL wars angezeigt ...
das ist eher mein ziel
 
ich würde wie typohnename die ligen in einer extra spalte bei der wars tabelle machen.

und um dann nur die z.b. esl wars auszulesen nimmt man

SELECT * FROM wars WHERE liga LIKE 'esl'

damit sollten nur die esl wars ausgelesen werden
halt für esl ne variable nehmen und die variable dann jenachdem anpassen.

bin mir nu zwar nich ganz sicher, ob die abfrage so exakt stimmt, aber so in etwa denk ich mal schon ^^
 
also ich hab es so gemacht ...

PHP:
wars.php

<form name=form action=?content=wars method=post>  
<select name="select">
  <option value="all" selected>Alle</option>
<?

$sql1="SELECT * FROM wars ORDER BY name DESC";
$result1=mysql_query($sql1);
while($liga=mysql_fetch_array($result1)) {
?>  
  <option value="<? echo $liga['name'] ?>"><? echo $liga['name'] ?></option>
<?
}
?>
</select>
  <input type="submit" name="sort" value="sort!">
</form>

dort werden jetzt alle ligen die in der table eingetragen sind aufgelistet. nur jetzt muessen die "if" abfragen kommen ?
wie realisiere ich das ?

ich will nicht immer wieder die phpdatei aendern und immerwieder es so machen z.B.

PHP:
if($select=='esl') {
 $sql1="SELECT * FROM wars WHERE liga LIKE 'esl'"; 
...
}
...

darauf habe ich keine bock es muesste also so gehen, dass man statt esl eine variable einsetzt die abfragt was gefragt wurde . oder so aehnlich *gg*

vielleicht habt ihr ne lösung ?
 
gibt es eine variante das ich nicht angeben muss das esl ist ...
ich will ja net immer wieder die phpdatei aendern wenn ich eine LIGA dazu bekomme ...

oder geht es nicht anders ?
 
Original geschrieben von Typohnename
also erstmal müsste die ligen in einer eigenen spalte,namens liga, in der wars tabelle eingetragen sein.

Das ist definitiv falsch.

Die Regeln der Datenbanknormalisierung verlangen sogar das hier getrennt wird.

Was du brauchst ist entweder eine Schleife mit Abfrage oder einen verschachtelten SQL Query:

Select * from wars,wars_ligen where wars_ligen.name = ".$select." and wars.ligenId = wars.id

naja so oder so ähnlich ist jetzt eben ungetestet oder du ziehst einfach per 2 querys raus.

erst die Id der liga welche dann in der Tabelle wars platziert ist um dann mit
... where liga_id = ".$res["id"]." ";
auszulesen
 
Hat diese methode einen Vorteil gegenüber meiner (ich meine, wenn man sowieso schon eine Spalte mit der Liga drin hat)
 
Ja
Wenn der name von esl in esl-europe (zum Beispiel) geändert wird.
Brauchst du nichts ändern an den Einträgen in wars.

Ausserdem ist ein varchar um einiges grösser als ein integer.
 
Zurück