27. august 2007 - 15:39Der er
12 kommentarer og 1 løsning
oprette numre og udtrække tilfældige deraf
Hej jeg er lidt rusten i php, da det er et stykke tid siden jeg har skrevet noget brugbart. så jeg prøver at søge lidt hjælp her.
Jeg vil gerne have en liste (et array) af tal jeg definerer fra og til i inputbokse. Altså hvis jeg vælger 1 og 100 får jeg en kommasepereret liste med tallene fra 1 til 100.
Dernæst vil jeg gerne have et inputfelt mere hvor jeg kan trække nogle tal ud af listen ovenfor. Dvs at jeg hart 3 input felter, et til startnr, et til slutnr og et til antal af numre som skal ekskluderes. Hvis jeg igen vælger 1 og 100 og 10 i den sidste - så kommer tallene fra 1 til 100 med 10 tilfældige tal i en anden komasepereret liste som ikke er med i den første...
Den sidste ting jeg gerne vil have er at man kan dividere antallet af tal mellem start og slut med et nyt tal man indtaster, og det antal man indtaster er også den mængde af lister tallene bliver skrevet ud i.
Håber det er til at forstå hvad jeg skriver og at der er nogen som gider at hjælpe mig.
jeg prøver lige at forklare lidt nærmere: Hvis jeg har en liste fra 1 til 100 og en "udtrækker" på 10. Så vil jeg gerne have en liste skrever ud i numerisk rækkefølge fra 1 til 100 (men selvf kun 90 numre) hvori der er trukket 10 tilfældige tal ud som bliver udskrevet på en anden liste i numerisk rækkefølge.
<? //Tjekker om felterne er sat if(isset($_POST['opretliste']) && is_numeric($_POST['start']) && is_numeric($_POST['slut']) && is_numeric($_POST['antal'])){
// Tjekker at slut er større end start eller lig med if($_POST['slut'] >= $_POST['start']){
// Tjekker at slut er større end antal eller lig med if($_POST['slut'] >= $_POST['antal']){
}else{ echo "Antal kan ikke være større end slut"; } }else{ echo "Slut skal være større eller lig med start"; } } else{ echo "Udfyld alle felterne under, og det skal være skrevet med tal"; } ?> <form method="POST" action=""> <p>Start:<input type="text" name="start" size="20"></p> <p>Slut:<input type="text" name="slut" size="20"></p> <p>Antal:<input type="text" name="antal" size="20"></p> <p><input type="submit" value="Udfør" name="opretliste"></p> </form>
// Brug resultatet på én eller anden måde for ($i=0,$j=count($aLists[0]); $i<$j; $i++) { print "<div>".$aLists[0][$i]."</div>"; } print "<hr>"; for ($i=0,$j=count($aLists[1]); $i<$j; $i++) { print "<div>".$aLists[1][$i]."</div>"; } ?>
olebole: dit script virker ligesom jeg gern vil have den til... vil du prøve at integrere den division jeg skrev i første indlæg, jeg prøver lige at forklare lidt nærmere.
jeg har nu min liste på 90 numre med tallene 1 til 100, hvis jeg har en divider på 4 så udskrives listen med de første 23 tal og derefter en ny liste med de næste 23 og de næste 22 tal og de sidste 22 tal. (det er antaget at divisionen giver heltal da 90/4 er 22,5 - således at forskellen på antallet af tal kun er 1 i antallet af lister)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.