einmalige Zufallszahlen |
Startpost-Retter
Mitglied
 
Dabei seit: 24.01.2011
Beiträge: 12.246
Herkunft: Gegen Bilderklau, intern
 |
|
Ich arbeite an einem 'Loser' für meinen Turnierstall.
Bislang funktioniert alles recht gut - selbst die Einteilung in Abteilungen etc.
Nur das mit der 'einmaligen' Zufallszahl will nicht so recht.
Ich möchte ja logischerweise, dass es nur einen 1.Platz und so weiter gibt.
Also speichere ich schon geschriebene Platzierungen in ein Array.
Und dann überprüfe ich bei der nächsen Zufallszahl, ob die schon im Array ist.
Wenn ja, wird einfach nochmal rand() gemacht, solange, bis ich eine hab, die noch nicht vorhanden ist.
Hier die einzelne Sache, nur mit dem Zufallsdings
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
$zahlen = array();
$abfrage2 = mysql_query("SELECT id FROM nennung WHERE tid = $tid AND did = ".$row->id);
while($row2 = mysql_fetch_object($abfrage2))
{
$rzahl = true;
while ($rzahl == true) {
$zufall = rand (1, $zahl);
if(in_array($zufall,$zahlen))
{
$rzahl = true;
}
else {
array_push($zahlen,$zufall);
$rzahl = false;
}
}
$aendern = "UPDATE nennung Set preis = '$zufall' WHERE tid = $tid AND did = ".$row->id." AND id = ".$row2->id;
$update = mysql_query($aendern);
} |
|
Das ist mein gesamtes Losscript:
Sehr unübersichtlich, ich weiß :/
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
|
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<?php
include ('db.php');
$tid = $_GET["tid"];
$abfrage = mysql_query("SELECT * FROM disziplin WHERE tid = $tid");
while($row = mysql_fetch_object($abfrage))
{
$abfrage2 = mysql_query("SELECT COUNT(*) AS zahl FROM nennung WHERE tid = $tid AND did = ".$row->id);
while($row2 = mysql_fetch_object($abfrage2))
{
$zahl = $row2->zahl;
}
if ($zahl <= 15) {
/* Wenn es nur <= 15 Teilnehmer gibt, wird
gleich ausgewertet ;) */
$zahlen = array();
$abfrage2 = mysql_query("SELECT id FROM nennung WHERE tid = $tid AND did = ".$row->id);
while($row2 = mysql_fetch_object($abfrage2))
{
$rzahl = true;
while ($rzahl == true) {
$zufall = rand (1, $zahl);
if(in_array($zufall,$zahlen))
{
$rzahl = true;
}
else {
array_push($zahlen,$zufall);
$rzahl = false;
}
}
$aendern = "UPDATE nennung Set preis = '$zufall' WHERE tid = $tid AND did = ".$row->id." AND id = ".$row2->id;
$update = mysql_query($aendern);
}
}
else {
$teilen = ceil($zahl / 10);
echo $teilen;
for($a = 1; $a <= $teilen; $a++)
{
/* Hier erfolgt die Einteilung in Abteilungen */
$aendern = "UPDATE nennung Set abteilung = '$a' WHERE tid = $tid AND did = ".$row->id." AND abteilung = '' LIMIT 10";
$update = mysql_query($aendern);
echo mysql_error();
}
$abfrage3 = mysql_query("SELECT COUNT(*) AS zahl FROM nennung WHERE tid = $tid AND did = ".$row->id." AND abteilung = $a");
while($row3 = mysql_fetch_object($abfrage3))
{
if ($row3->zahl < 5)
{
/* Ist die letzte Abteilung aber nur mit weniger als 5
Teilnehmern gefüllt, wird die vorherige Abteilun vergrößert :D */
$b = $a - 1;
$aendern = "UPDATE nennung Set abteilung = $b WHERE tid = $tid AND did = ".$row->id." AND abteilung = $a";
$update = mysql_query($aendern);
}
}
/* Ab hier werden dann auch die Plätze ausgewertet */
for($a = 1; $a <= $teilen; $a++)
{
$zahlen = array();
$abfrage2 = mysql_query("SELECT id FROM nennung WHERE tid = $tid AND did = ".$row->id." AND abteilung = $a");
while($row2 = mysql_fetch_object($abfrage2))
{
$rzahl = true;
while ($rzahl == true) {
$zufall = rand (1, $zahl);
if(in_array($zufall,$zahlen))
{
$rzahl = true;
}
else {
array_push($zahlen,$zufall);
$rzahl = false;
}
}
$aendern = "UPDATE nennung Set preis = '$zufall' WHERE tid = $tid AND did = ".$row->id." AND id = ".$row2->id;
$update = mysql_query($aendern);
}
}
}
}
?>
</body>
</html> |
|
Ich freue mich über jeden Lösungsvorschlag etc. Wahrscheinlich bin ich mal wieder zu ... dumm? ... um die richtige Lösung zu sehen (:
Liebe Grüße,
Annika
__________________ Dieser Beitrag gehörte zu einer Löschaktion von Beiträgen eines Users, er wurde diesem User überschrieben, damit der Thread nicht an Sinn verliert.
|
|
07.11.2009 11:58 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
Hey,
mach's doch einfach anders herum
Schreibe alle Teilnehmer in ein Array, würfel das durch und dann array[0] ist platz 1 usw.
Lg, Julia
|
|
07.11.2009 13:06 |
|
|
Wolkenkuss
Mitglied
 

Dabei seit: 01.02.2011
Beiträge: 150
 |
|
So, ich hol das jetzt mal wieder hoch, weil ich das gleiche Problemchen habe, aber leider auch mit dem Lösungsvorschlag nicht unglaublich viel anfangen kann, weil .. hemm, ja
Eigentlich hab ich mit PHP an sich ja kein Problem. Aber ich komm nur nie auf die logischsten Lösungen. Hach. Dumm, wenn man blöd ist.
Und hier steig ich grad gar nicht durch.
Also, mal so zur kleinen Erklärung. Ich hab nur eine Tabelle (ich könnte aber auch 2 draus machen, wenn das einfacher wäre). Und zwar mit den Zeilen id (auto_increment), turnierid (Zahl), reiter, pferd, pferdlink, hof, hoflink, disziplin (z.B. Springen A*), abteilung, ergebnis.
Und daraus möchte ich theorethisch soetwas wie oben basteln .
Nur leider verstehe ich den Code oben nicht so ganz & weiß nicht, wie ich ihn abändern müsste, damit er auf mich passt. Ich möchte eben, dass ich eine Seite habe, sagen wir mal http://brynne.bplaced.net/turnierauslosung.php?turnierid=1 (gleich am Beispiel für das Turnier Numero 1).
Und dann möchte ich eben, dass wenn ich auf diese Seite gehe, die Teilnehmer in Abteilungen gegliedert und eben auch sofort ausgewertet wird.
Also vom Prinzip her genau das, was eben oben steht.
Nur auf meins angewandt
Und jetzt kommt mein Preis (manche würdens vielleicht auch Erpressung nennen
) ins Spiel: Derjenige, der mich soweit bringt, dass das funktioniert, der kriegt eine Tafel Schokolade von mir zugeschickt
__________________
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Wolkenkuss: 20.04.2011 15:45.
|
|
20.04.2011 15:29 |
|
|
Gleykur

Alter Hase xD
 

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg
 |
|
Du willst das ganze bestimmt nur ein einziges Mal auswerten lassen, nehme ich an?!
Dann würde ich es an deiner Stelle wie folgt machen:
- Eine extra Seite erstellen, wo nur du ran kommst. Da sind die auszuwertenden Prüfungen aufgelistet und dahinter ein kleiner Button mit "auslosen" (für jede Abteilung am besten ein eigener Button!).
- Mit Klick auf den Button kommst du zur Auswerte-Seite, die wie folgt strukturiert ist:
> aus dem Post-Formular erhälst du die Turnier-ID + Prüfungs-ID + Abteilsungs-ID
> anhand dieser IDs lässt du dir jetzt folgendes ausgeben:
php: |
1:
|
$auswert = "SELECT * FROM tabelle WHERE turnierid=$turnierid AND disziplin=$pruefungsid AND abteilung = $abteilungsid ORDER BY RAND()" |
|
> dann lässt du das ganze ding per while durchlaufen:
php: |
1:
2:
3:
4:
5:
6:
|
$i=1;
while ($row = mysql_fetch_object(mysql_query($auswert))
{
$update = mysql_query("UPDATE tabelle SET ergebnis = $i WHERE id = $row->id");
$i++;
} |
|
Und schon ist die Abteilung ausgewertet
__________________
|
|
20.04.2011 21:48 |
|
|
Wolkenkuss
Mitglied
 

Dabei seit: 01.02.2011
Beiträge: 150
 |
|
Oh mein Gott, du bist klasse.
Wenn du mir jetzt noch irgendwie erklären könntest, wie ich es schaffe, dass sich die Abteilungen von selbst bilden (& ich am allerallerbesten nur einmal pro Turnier auswerten muss, aber das wäre jetzt nicht ganz ganz wichtig), dann hast du dir deine Schokolade echt verdient.
__________________
|
|
21.04.2011 09:34 |
|
|
Gleykur

Alter Hase xD
 

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg
 |
|
Das automatische Eintragen der Nennung in die Datenbank hast du schon?
Dann würde es da mit einbauen:
> Bevor die Nennung eingetragen wird, checkst du wie groß die bisherige Abteilung ist:
php: |
1:
|
$suche = mysql_query("SELECT * FROM tabelle WHERE turnierid = $turnierid AND disziplin = $pruefungsid")); |
|
> Auswertung:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
$abteilung_alt = mysql_fetch_object(mysql_query("SELECT * FROM tabelle WHERE turnierid = $turnierid AND disziplin = $pruefungsid GROUP BY abteilung ORDER BY abteilung ASC LIMIT 0,1"));
if (mysql_num_rows($suche) > $abteilungsgroesse)
{
$abteilung_neu = $abteilung_alt->abteilung + 1;
} else {
$abteilung_neu = $abteilung_alt->abteilung;
} |
|
Und dann wird eben die entsprechende Abteilungsnummer (=$abteilung_neu) mit eingetragen
__________________
|
|
21.04.2011 11:16 |
|
|
Wolkenkuss
Mitglied
 

Dabei seit: 01.02.2011
Beiträge: 150
 |
|
Also meine nennung_send.php sieht bisher so aus:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
|
<html>
<head>
<title>Gut Brynne</title>
<link rel=stylesheet href=http://brynne.bplaced.net/style.css type=text/css>
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
</head>
<body>
<?php
//Datenbankverbindung einfügen!
include('datenbank.php');
//Variablen festlegen
$tid = $_POST['tid'];
$reiter = $_POST['reiter'];
$pferd = $_POST['pferd'];
$pferdlink = $_POST['pferdlink'];
$hof = $_POST['hof'];
$hoflink = $_POST['hoflink'];
$disziplin = $_POST['disziplin'];
$abfrage="SELECT `disziplin`, COUNT(`disziplin`) AS `abteil` FROM `turnier` WHERE `turnierid` = '$tid' AND `disziplin` = '$disziplin'";
$ergebnis = mysql_query($abfrage) or die("$abfrage<hr />" .mysql_error());
$Data = mysql_fetch_array($ergebnis);
$abfrage2="SELECT `pferd`, COUNT(`pferd`) AS `hotta` FROM `turnier` WHERE `turnierid` = '$tid' AND `pferdlink` = '$pferdlink'";
$ergebnis2 = mysql_query($abfrage2) or die("$abfrage2<hr />" .mysql_error());
$Date = mysql_fetch_array($ergebnis2);
$abfrage3="SELECT `pferd`, COUNT(`pferd`) AS `pferdl` FROM `turnier` WHERE `turnierid` = '$tid' AND `pferdlink` = '$pferdlink' AND `disziplin` = '$disziplin'";
$ergebnis3 = mysql_query($abfrage3) or die("$abfrage3<hr />" .mysql_error());
$Dato = mysql_fetch_array($ergebnis3);
//wenn eine der Variablen name, pass oder mail leer ist, dann [if]
if( ($tid=='') OR ($reiter=='') OR ($pferd=='') OR ($pferdlink=='') OR ($hof=='') OR ($hoflink=='') OR ($disziplin=='') OR ($Date[hotta]=='3') OR ($Dato[pferdl]=='1') ) {
//Ausgabe der Fehlermeldung
echo "<b>Error</b>
Bitte fülle die alle Felder aus! <br>Eventuell sind auch schon 20 Teilnehmer für diese Disziplin gemeldet oder
dein angegebenes Pferd läuft schon 3x auf diesem Turnier bzw schon einmal in der gleichen Disziplin.<br><br>
Bitte <a href="javascript:%20history.back(-2)" target="_self">Zurück</a>";
//wenn alles richtig ist:
} else {
//hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefüllt werden?
if($Data[abteil]<20) {
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', 'a')";}
if( ($Data[abteil]=20) OR (($Data[abteil]>20) AND ($Data[abteil]<40)) {
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', 'b')";}
if( ($Data[abteil]=40) OR (($Data[abteil]>40) AND ($Data[abteil]<60)) {
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', 'c')";}
if( ($Data[abteil]=60) OR (($Data[abteil]>60) AND ($Data[abteil]<80)) {
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', 'd')";}
if( ($Data[abteil]=80) OR (($Data[abteil]>80) AND ($Data[abteil]<100)) {
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', 'e')";}
//hier wird entschieden, dass $eintrag über die Datenbankverbindung eingetragen werden soll.
$eintragen = mysql_query($eintrag);
//Ausgabe der Erfolgsmeldung
if($eintragen==true) {
echo "<b>Du hast dein Pferd $pferd erfolgreich für die Prüfung $disziplin genannt. <a href="javascript:%20history.back(-2)" target="_self">Zurück zur Ausschreibung</a>.</b>";
} else {
echo "Fehler!";
}
}
//PHP schließen
?>
</html>
|
|
Richtig bisher?
__________________
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Wolkenkuss: 21.04.2011 11:44.
|
|
21.04.2011 11:28 |
|
|
Gleykur

Alter Hase xD
 

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg
 |
|
Müsste eigentlich gehen, wäre mir persönlich zu kompliziert*, aber teste es mal. Vom Prinzip her müsste es gehen...
Würde allerdings noch ein paar Sachen verbessern:
php: |
1:
|
$tid = $_POST['tid']; |
|
> Geht gar nicht! Da kann ja jeder deine DB hacken
Besser ist:
php: |
1:
|
$tid = strip_tags($_POST['tid']); |
|
(oder ähnliche Methoden
)
php: |
1:
|
if( ($Data[abteil]=40) OR (($Data[abteil]>40) AND ($Data[abteil]<60)) ... |
|
Da kannst du eigentlich gleich folgendes schreiben:
php: |
1:
|
if( ($Data[abteil]>39) AND ($Data[abteil]<60)) ... |
|
- - -
Mit kompliziert meine ich:
- Würde statt Buchstaben für die Abteilung eine Nummer nehmen, dann kannst du mit der oben beschriebenen Variante leichter die neue Abteilung "hinzufügen". In der Ansicht (wenn die Teilnehmer die Liste anschauen), kannst du ja per str_replace oder per switch die Abteilung in Buchstaben abändern lassen...
- Bei der Abteilungseinteilung würde ich nicht den ganzen DB-Eintrag machen lassen, sondern nur die Nummer und dann ganz am Schluss einen einzgen DB-Eintrag
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
if($Data[abteil]<20)
{
$abteilung = 1; (bzw. $abteilung = a;)
}
[...]
"INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', '$abteilung')" |
|
__________________
|
|
21.04.2011 13:12 |
|
|
Wolkenkuss
Mitglied
 

Dabei seit: 01.02.2011
Beiträge: 150
 |
|
Nachdem ich jetzt ewig drangehockt bin ... funktioniert es! *-*
Nur, falls dasirgendwen interessiert & er es gebrauchen kann:
nennung_send.php
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
|
<html>
<head>
<title>Gut Brynne</title>
<link rel=stylesheet href=http://brynne.bplaced.net/style.css type=text/css>
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
</head>
<body>
<?php
//Datenbankverbindung einfügen!
include('datenbank.php');
//Variablen festlegen
$tid = strip_tags($_POST['tid']);
$reiter = strip_tags($_POST['reiter']);
$pferd = strip_tags($_POST['pferd']);
$pferdlink = strip_tags($_POST['pferdlink']);
$hof = strip_tags($_POST['hof']);
$hoflink = strip_tags($_POST['hoflink']);
$disziplin = strip_tags($_POST['disziplin']);
$abfrage="SELECT `disziplin`, COUNT(`disziplin`) AS `abteil` FROM `turnier` WHERE `turnierid` = '$tid' AND `disziplin` = '$disziplin'";
$ergebnis = mysql_query($abfrage) or die("$abfrage<hr />" .mysql_error());
$Data = mysql_fetch_array($ergebnis);
$abfrage2="SELECT `pferd`, COUNT(`pferd`) AS `hotta` FROM `turnier` WHERE `turnierid` = '$tid' AND `pferdlink` = '$pferdlink'";
$ergebnis2 = mysql_query($abfrage2) or die("$abfrage2<hr />" .mysql_error());
$Date = mysql_fetch_array($ergebnis2);
$abfrage3="SELECT `pferd`, COUNT(`pferd`) AS `pferdl` FROM `turnier` WHERE `turnierid` = '$tid' AND `pferdlink` = '$pferdlink' AND `disziplin` = '$disziplin'";
$ergebnis3 = mysql_query($abfrage3) or die("$abfrage3<hr />" .mysql_error());
$Dato = mysql_fetch_array($ergebnis3);
//wenn eine der Variablen name, pass oder mail leer ist, dann [if]
if( ($tid=='') OR ($reiter=='') OR ($pferd=='') OR ($pferdlink=='') OR ($hof=='') OR ($hoflink=='') OR ($disziplin=='') OR ($Date[hotta]=='3') OR ($Dato[pferdl]=='1') ) {
//Ausgabe der Fehlermeldung
echo "<b>Error</b>
Bitte fülle die alle Felder aus! <br>Eventuell sind auch schon 20 Teilnehmer für diese Disziplin gemeldet oder
dein angegebenes Pferd läuft schon 3x auf diesem Turnier bzw schon einmal in der gleichen Disziplin.<br><br>
Bitte <a href="javascript:%20history.back(-2)" target="_self">Zurück</a>";
//wenn alles richtig ist:
} else {
//hier steht, was Eintrag ist und was damit gemacht werden soll. Welche Spalten sollen ausgefüllt werden?
if($Data[abteil]<21) {$abteilung = 1;}
if(($Data[abteil]>20) AND ($Data[abteil]<41)) {$abteilung = 2;}
if(($Data[abteil]>40) AND ($Data[abteil]>61)) {$abteilung = 3;}
if(($Data[abteil]>60) AND ($Data[abteil]>81)) {$abteilung = 4;}
if(($Data[abteil]>80) AND ($Data[abteil]>101)) {$abteilung = 5;}
if(($Data[abteil]>100) AND ($Data[abteil]>121)) {$abteilung = 6;}
if(($Data[abteil]>120) AND ($Data[abteil]>141)) {$abteilung = 7;}
if(($Data[abteil]>140) AND ($Data[abteil]>161)) {$abteilung = 8;}
if(($Data[abteil]>160) AND ($Data[abteil]>181)) {$abteilung = 9;}
if(($Data[abteil]>180) AND ($Data[abteil]>201)) {$abteilung = 10;}
$eintrag = "INSERT INTO `turnier` ( `id` , `turnierid` , `reiter` , `pferd` , `pferdlink` , `hof` , `hoflink` , `disziplin` , `abteilung` )
VALUES ('', '$tid', '$reiter', '$pferd', '$pferdlink', '$hof', '$hoflink', '$disziplin', '$abteilung')";}
//hier wird entschieden, dass $eintrag über die Datenbankverbindung eingetragen werden soll.
$eintragen = mysql_query($eintrag);
//Ausgabe der Erfolgsmeldung
if($eintragen==true) {
echo "<b>Du hast dein Pferd $pferd erfolgreich für die Prüfung $disziplin genannt. <a href="javascript:%20history.back(-2)" target="_self">Zurück zur Ausschreibung</a>.</b>";
} else {
echo "Fehler!";
}
}
//PHP schließen
?>
</html> |
|
turnierloser.php
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
|
<html>
<head>
<title>Gut Brynne</title>
<link rel=stylesheet href=http://brynne.bplaced.net/neu/style.css type=text/css>
<?php
// Verbindung zur Datenbank
include("datenbank.php");
$tid = $_GET['tid'];
// Hier die Abfrage übersetzt: RUFE * (alle Spalten) VON der Tabelle Pferd auf WO in der Spalte Besitzer nichts steht.
$Ergebnis = mysql_query("SELECT * FROM `turnier` WHERE `turnierid` = '$tid' AND `ausgewertet` = 'nein' GROUP BY disziplin ASC");
// Wenn das Ergebnis 0 ist gib aus
if (@mysql_num_rows($Ergebnis) == 0) {
echo " Es gibt keine Disziplinen.";
}
else {
// Sonst zeige an ..
while($Data = mysql_fetch_array($Ergebnis)) {
// Der Name wird ausgegeben .. die HTML Elemente sind frei anpassbar- Vor " muss aber immer ein \.
// Der Steckbriefname lautet Pferd. Diesem wird jetzt die ID des Pferdes angehängt, damit die Datei nachher weiß, welche Daten sie abfragen muss.
// Ihr könnt die ganzen anderen Infos auch angeben .. sprich $Data[Jahrgang] oder $Data[Geschlecht]
echo "
<li><form action="auswerten.php?tid=$tid" method="post"><input type="Text" name="disziplin" value="$Data[disziplin]"> <input type="Text" name="a" value="$Data[abteilung]">
<input type="Submit" value="auswerten"></form></li>
";
}
}
?></ul>
</html> |
|
auswerten.php
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
|
<html>
<head>
<title>Gut Brynne</title>
<link rel=stylesheet href=http://brynne.bplaced.net/neu/style.css type=text/css>
<?php
// Verbindung zur Datenbank
include("datenbank.php");
$tid = $_GET['tid'];
$dis = $_POST["disziplin"];
$a = $_POST["a"];
$auswert = mysql_query("SELECT * FROM turnier WHERE turnierid = '$tid' AND disziplin = '$dis' AND abteilung = '$a' GROUP BY ausgewertet ORDER BY RAND()");
while ($row = mysql_fetch_object($auswert)) {
if($row->ausgewertet == 'nein'){
$i=1;
$update = mysql_query("UPDATE turnier SET ergebnis = '$i', ausgewertet = 'ja' WHERE id = '$row->id'");
$i++;
if($update==true) {
echo "<h2>Eintrag erfolgreich</h2>
Abteilung $a von $dis ist ausgewertet.<br><br>";
} else {
echo "Fehler!";
}
}
else {
echo "Nana, das wurde schon ausgewertet. :P<br><br>";
}
}
$Ergebnis = mysql_query("SELECT * FROM turnier WHERE turnierid = '$tid' AND disziplin = '$dis' AND abteilung = '$a' ORDER BY ergebnis");
while($Data = mysql_fetch_array($Ergebnis)) {
echo "$Data[reiter] mit <a href="$Data[pferdlink]" target="blank">$Data[pferd]</a> von <a href="$Data[hoflink]" target="blank">$Data[hof]</a> ist $Data[ergebnis].<br>";
}
?>
</html> |
|
Geht bestimmt alles auch 10x eleganter, schöner und schneller. Aber so funktioniert es auch, glaub ich
Uuuund, mein allerliebstes Helferlein? Wenn du mir deine Adresse perPN schickst und evtl noch, was für Schoki du am liebsten magst ... dann soll dir dein Wunsch erfüllt werden. Ich bin nämlich jetzt glücklich.
<3
__________________
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Wolkenkuss: 23.04.2011 13:01.
|
|
21.04.2011 20:16 |
|
|
|
Impressum
|