19. juli 2005 - 16:49Der er
38 kommentarer og 1 løsning
Finde et random tal mellem 1-57
Nu har jeg dette. <?php $tallene = 57; $random = mt_rand(1,$tallene); print $random; ?>
men den skal først tjekke om det randome tal er i tabellen "brugere" med "feltid"
altså i min tabel brugere har jeg "feltid" som er det felt de står på, hvordan laver jeg så sådan den laver en random funktion fra 1-57 hvor den ikke tager dem med i tabellen "brugere" plz hjælp!!!
Tjekker om et af tallene i arrayet $left er i tabellen:
$SQL = "SELECT count(*) AS antal FROM brugere WHERE left IN (" . implode(", ", $left) . ")" $result = mysql_query($SQL); $row = mysql_fetch_assoc($result); $fundet = ($row["antal"] > 0) ? true : false;
Tjekker om et af tallene i arrayet $left *eller* et af tallene i arryet $top er i tabellen:
$SQL = "SELECT count(*) AS antal FROM brugere WHERE left IN (" . implode(", ", $left) . ") OR top IN (" . implode(", ", $top) . ")" $result = mysql_query($SQL); $row = mysql_fetch_assoc($result); $fundet = ($row["antal"] > 0) ? true : false;
Tjekker om et af tallene i arrayet $left *og* et af tallene i arryet $top er i tabellen:
$SQL = "SELECT count(*) AS antal FROM brugere WHERE left IN (" . implode(", ", $left) . ") AND top IN (" . implode(", ", $top) . ")" $result = mysql_query($SQL); $row = mysql_fetch_assoc($result); $fundet = ($row["antal"] > 0) ? true : false;
COUNT(*) er en indbygget funktion i mySQL der tæller forekomster. Når der står AS et-eller-andet, sættes der blot et alias, så den resultat kan fanges med et brugervenligt navn.
Et eksempel på alias: SELECT x, y, (x+y) AS total FROM tabel
"count(*)" tæller hvor mange rækker der passer til søgekriteriet. "AS antal" opretter et alias sådan at dette bagefter kan findes under navnet "antal":
$row["antal"]
Dette er gennerelt for alle SQL-databaser - ikke kun for MySQL.
Nej! - Sorry, men tror jeg har sagt forkert. Den skal bare lave en simpel random mellem mine $top[] og $left[] også tjekke om de er optaget i databasen, hvis de ikke er skal den bare udskrive: fx.
$SQL = "SELECT count(*) AS antal FROM brugere WHERE left=" . $randomLeft ." OR top=" . $randomTop; $result = mysql_query($SQL); $row = mysql_fetch_assoc($result);
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/virtual/XXXX/xxxxxxx.dk/public_html/fsdfsdfsdf/zx/testfelter.php on line 25 223 94
DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=0 OR topid=2 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=0 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=0 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=2 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=0 OR topid=0 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=1 OR topid=0 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=2 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=2 DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid=2 OR topid=1 2 1
DEBUGSELECT count(*) AS antal FROM brugere WHERE leftid= OR topid=
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/virtual/w******/***/public_html/******/chat/testfelter.php on line 28 0 0
Burde ikke have noget at sige, men prøv sådan her. Kan være index'et giver problem når der kun er et resultat. $SQL = "SELECT count(*) AS antal FROM brugere WHERE left=" . $left[$randomLeft] . " OR top=" . $top[$randomTop];
$SQL = "SELECT count(*) AS antal FROM brugere WHERE leftid=" . $randomLeft . " OR topid=" . $randomTop; $result = mysql_query($SQL); $row13 = mysql_fetch_assoc($result);
$fundet = ($row13["antal"] == 0) ? false : true; } while ($fundet); mysql_query("UPDATE brugere SET leftid = '$randomLeft', topid = '$randomTop' WHERE brugernavn = '$_SESSION[brugernavn]'"); ?>
$SQL = "SELECT count(*) AS antal FROM brugere WHERE leftid=" . $randomLeft . " OR topid=" . $randomTop; $result = mysql_query($SQL); $row13 = mysql_fetch_assoc($result);
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.