Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] einmalige Zufallszahlen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen einmalige Zufallszahlen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Startpost-Retter
Mitglied


Dabei seit: 24.01.2011
Beiträge: 12.246
Herkunft: Gegen Bilderklau, intern

einmalige Zufallszahlen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 großes Grinsen
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 Startpost-Retter ist offline Beiträge von Startpost-Retter suchen Nehmen Sie Startpost-Retter in Ihre Freundesliste auf
Julia712 Julia712 ist weiblich
Mitglied


images/avatars/avatar-48505.png

Dabei seit: 28.11.2006
Beiträge: 2.262

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey,

mach's doch einfach anders herum fröhlich
Schreibe alle Teilnehmer in ein Array, würfel das durch und dann array[0] ist platz 1 usw. Augenzwinkern


Lg, Julia
07.11.2009 13:06 Julia712 ist offline Beiträge von Julia712 suchen Nehmen Sie Julia712 in Ihre Freundesliste auf
Wolkenkuss
Mitglied


images/avatars/avatar-52860.jpg

Dabei seit: 01.02.2011
Beiträge: 150

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 großes Grinsen

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. großes Grinsen

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 . großes Grinsen

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 großes Grinsen

Und jetzt kommt mein Preis (manche würdens vielleicht auch Erpressung nennen großes Grinsen ) ins Spiel: Derjenige, der mich soweit bringt, dass das funktioniert, der kriegt eine Tafel Schokolade von mir zugeschickt Augenzwinkern

__________________

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Wolkenkuss: 20.04.2011 15:45.

20.04.2011 15:29 Wolkenkuss ist offline E-Mail an Wolkenkuss senden Beiträge von Wolkenkuss suchen Nehmen Sie Wolkenkuss in Ihre Freundesliste auf
Gleykur Gleykur ist weiblich
Alter Hase xD


images/avatars/avatar-50249.jpg

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 smile

__________________

20.04.2011 21:48 Gleykur ist offline E-Mail an Gleykur senden Homepage von Gleykur Beiträge von Gleykur suchen Nehmen Sie Gleykur in Ihre Freundesliste auf Fügen Sie Gleykur in Ihre Kontaktliste ein
Wolkenkuss
Mitglied


images/avatars/avatar-52860.jpg

Dabei seit: 01.02.2011
Beiträge: 150

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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. Augenzwinkern großes Grinsen

__________________

21.04.2011 09:34 Wolkenkuss ist offline E-Mail an Wolkenkuss senden Beiträge von Wolkenkuss suchen Nehmen Sie Wolkenkuss in Ihre Freundesliste auf
Gleykur Gleykur ist weiblich
Alter Hase xD


images/avatars/avatar-50249.jpg

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 smile

__________________

21.04.2011 11:16 Gleykur ist offline E-Mail an Gleykur senden Homepage von Gleykur Beiträge von Gleykur suchen Nehmen Sie Gleykur in Ihre Freundesliste auf Fügen Sie Gleykur in Ihre Kontaktliste ein
Wolkenkuss
Mitglied


images/avatars/avatar-52860.jpg

Dabei seit: 01.02.2011
Beiträge: 150

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Wolkenkuss ist offline E-Mail an Wolkenkuss senden Beiträge von Wolkenkuss suchen Nehmen Sie Wolkenkuss in Ihre Freundesliste auf
Gleykur Gleykur ist weiblich
Alter Hase xD


images/avatars/avatar-50249.jpg

Dabei seit: 20.05.2005
Beiträge: 231
Herkunft: Baden-Würrtemberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 Augenzwinkern Besser ist:
php:
1:
$tid strip_tags($_POST['tid']);

(oder ähnliche Methoden smile )

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 smile
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 Gleykur ist offline E-Mail an Gleykur senden Homepage von Gleykur Beiträge von Gleykur suchen Nehmen Sie Gleykur in Ihre Freundesliste auf Fügen Sie Gleykur in Ihre Kontaktliste ein
Wolkenkuss
Mitglied


images/avatars/avatar-52860.jpg

Dabei seit: 01.02.2011
Beiträge: 150

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 großes Grinsen




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. Augenzwinkern <3

__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Wolkenkuss: 23.04.2011 13:01.

21.04.2011 20:16 Wolkenkuss ist offline E-Mail an Wolkenkuss senden Beiträge von Wolkenkuss suchen Nehmen Sie Wolkenkuss in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Homepagehilfe - Archiv » [PHP & MySQL] einmalige Zufallszahlen

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH