Thema geschlossen 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zufallszahlen
04.08.2004, 19:48
Beitrag: #1
Zufallszahlen
ich wollte gerne zufällig zahlen, (zwischen eins und acht ) updaten,
mit RAND() gibt er mir nur 0,... zahlen, weiss jemand wie das funktioniert?
Alle Beiträge dieses Benutzers finden
04.08.2004, 21:04
Beitrag: #2
 
Wenn du nur rand() benutzt wird auch immer nur dieselbe Zahl rauskommen. Musst noch srand benutzen.

[php:1]<?php
srand ((double)microtime()*1000000);
$randval = rand();
?>[/php:1]

Dies gibt eine 7stellige Zahl aus. Um nun das ganze einzugrenzen das er nur Zahlen zwischen 1 und 8 zu generieren musst du bei rand dies angeben. Also:

[php:1]<?php
srand ((double)microtime()*1000000);
$randval = rand(1,8);
?>[/php:1]

1 = Min-Wert
8 = Max-Wert

Und nu hf Biggrin
Alle Beiträge dieses Benutzers finden
04.08.2004, 21:22
Beitrag: #3
 
Smile danke für die schnelle anwort, aber das funktioniert nicht Mad
habs glaub ich auch schlecht beschrieben
soll so:

$sql ="UPDATE Spieler SET SpTNr = Rand() WHERE LigaName = '$lname'";

ich hoffe du kannst mir helfen Confused
Alle Beiträge dieses Benutzers finden
04.08.2004, 22:19
Beitrag: #4
 
hab das jetzt doch hingekriegt ich doofi :roll: , aber jetzt hat jeder die gleiche zahl :cry: , sollen doch alle verschiedene zahlen bekommen, also einer bekommt die 7, einer die 3 usw., bis alle acht zahlen aufgeteilt sind, aber eben nicht der reihe nach, sondern zufällig
Alle Beiträge dieses Benutzers finden
05.08.2004, 11:30
Beitrag: #5
 
Öhm du hast also 8 Spielerwo jeder eine andere Zahl bekommen soll? Seh ich das so richtig?
Alle Beiträge dieses Benutzers finden
05.08.2004, 12:18
Beitrag: #6
 
ja genau, jeder eine andere zahl
Alle Beiträge dieses Benutzers finden
05.08.2004, 12:45
Beitrag: #7
 
dann muss du das vll. über variabeln machen und wenn eine gebraucht ist das die dann nicht mehr genutzt werden darf sprich jeder variabel muss ein wert zugewisen sein

[Bild: signatur_fotoblog.jpg]
Alle Beiträge dieses Benutzers finden
05.08.2004, 14:56
Beitrag: #8
 
Habe mir mal erlaubt was zusammen zu programmieren. Es gibt sicher noch andere Lösungen, aber jeden seine. Biggrin

[php:1]<?php
$stelle = 1; //Initialisierung der stelle-Variable (Gebrauch für's Array)
$zufall = array(); //Initialisierung des Arrays (in diesen Fall nicht unbedingt nötig

while($stelle <= 8)
{
$vorhanden = 0;
srand ((double)microtime()*1000000);
$randval = rand(1,8);
for($i=1; $i <= $stelle; $i++)
{
if ($randval == $zufall[$i]) //Überprüfung ob die erzeugte Zahl bereits im Array steht
$vorhanden = 1; //Steht die Zahl bereits im Array wird $vorhanden auf 1 gesetzt
}
if ($vorhanden == 0)
{
$zufall[$stelle] = $randval; //Ist die generierte Zahl nicht im Array vorhanden, so wird sie an der jeweiligen Stelle eingefügt
$stelle++;
}
}
print_r($zufall); //Anzeige des Arrayinhaltes
?>[/php:1]

So und nun noch ein paar Allgemeine Dinge. Falls du weißt was Arrays sind dann brauchst du das nicht unbedingt Lesen, weißt du es nicht dann erkläre ich dir das.
Du kennst ja sicher Variablen (Bsp: $variable), in diesen Variablen kannst du Zahlen (Integer, Real ...), Zeichenketten (String) etc. speichern. Nur du kannst nicht so einfach auf einen bestimmten Teil der Variable zu greifen. Sagen wir mal du willst die Wochentage speichern. Bei einer normalen Variable würde man das ungefähr so machen.

[php:1]$wochentage = "Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag";[/php:1]

Dies ist ansich nicht schlimm, doch was ist wenn du nun nur Freitag ausgeben willst? Da steht man da, baut sich vielleicht ein Script welches die Kommas zählt bis dann der Monat kommt. Hier kommen dann Arrays ins Spiel. Arrays muss man sich vorstellen, haben Werte die eine bestimmte Adresse haben. Auf Deutsch, du kannst z.B. den Tag Freitag direkt ansprechen. Um Werte in ein Array zu schreiben benötigt man folgende Schreibweise.

[php:1]$daten = array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag') ;[/php:1]

Wie du siehst, ist nicht viel anders nur das vor allen Tagen array steht. So definierst du ein Array. Du musst hier aber beachten das du alle Einträge (nur Zeichenketten) mit einem ' oder einem " einbinden musst, nicht alle zusammen.
Wie ruft man aber nun den Wochentag Freitag auf? Dies ist ganz einfach, dazu musst du wissen an welcher Stelle Freitag steht. Zähle also welche Adresse Freitag hat, das machst du so:

Montag hat die Adresse 0
Dienstag hat die Adresse 1
.
.
Freitag hat die Adresse 4
.
.

Du siehst, das Array beginnt nicht mit 1 sondern mit 0. Zumindest bei dieser Variante. Es gibt die Möglichkeit das Array mit 1 anfangen zu lassen aber das findest du denke ich mal selber heraus. (siehe oben, da fängt es mit 1 an)
Um nun Freitag ausgeben zu lassen benötigst du folgende Syntax.

[php:1]echo $daten[4];[/php:1]

Um Daten aus einem Array auszugeben benötigt man immer eckige Klammern, in den eckigen Klammern steht dann die Adresse, hier die 4 so wie wir ebend festgestellt haben. Diese würde hier also Freitag ausgeben. Um nun seperat an der Stelle wo jetzt Freitag steht, sagen wir mal Hallo hinschreiben wollen gibst du einfach die Adresse an und weißt ihr die Zeichenkette zu.

[php:1]$daten[4] = 'Hallo';[/php:1]

Im Großen und Ganzen sind Arrays ganz nützlich, man benutzt sie oft um mehrere Daten, die irgendwie zusammengehören, in einer Variablen unter zu bringen.

Ich hoffe ich konnte dir und auch anderen damit helfen.
Alle Beiträge dieses Benutzers finden
05.08.2004, 15:15
Beitrag: #9
 
Redface das ist aber nett von dir ich werde das mal testen ob ich das verstehe und hinkriege

finde ich echt toll die beschreibung mit den arrays, endlich mal ne verständliche erklärung, hatte das bisher noch nicht so richtig verstanden, aber jetzt Smile

echt super tausend dank
Alle Beiträge dieses Benutzers finden
05.08.2004, 18:39
Beitrag: #10
 
No Problem, dafür sind wir da.

Empfehle uns weiter. Wink
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Gehe zu:

KontaktWebhilfe.infoNach obenZum InhaltArchiv-ModusRSS-Synchronisation