Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Foto di categorie random

    Ciao,
    sto modificando uno script esistente e al suo interno ho trovato :
    <?php include_once 'include/config.inc.php';
    include_once 'include/options.inc.php';
    include_once 'include/security.inc.php';
    include_once 'include/functions.inc.php'; ?>
    <body bgcolor="#CCCCCC" leftmargin="0"
    topmargin="0" rightmargin="0" bottommargin="0"
    marginwidth="0" marginheight="0">
    <table border="1" width="104" bgcolor="#CCCCCC"
    bordercolordark="#CCCCCC" style="border-collapse:
    collapse; border: 1px outset #FF0000; ">
    <? $tmp=mysql_query("SELECT MAX(id) as
    maxid FROM ".C_MYSQL_MEMBERS." WHERE (pic1 != '' OR pic2 != ''
    OR pic3 != ''OR pic4 != '' OR pic5 != ''OR pic6 != ''
    OR pic7 != ''OR pic8 != '' OR pic9 != '' OR pic10 != '')
    AND categoria = '12' AND status >= '7'"); $trows = mysql_fetch_array($tmp); $max_rand =
    $trows['maxid'];
    $tmp=mysql_query("SELECT * FROM
    ".C_MYSQL_MEMBERS." WHERE (pic1 != ''
    OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''
    OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != ''
    OR pic10 != '') AND status >= '7' AND categoria = '12'
    AND id >=".rand(0, $max_rand)." LIMIT 1");
    while($i=mysql_fetch_array($tmp)) {
    ?> <tr> <td width="104" bgcolor="#999999">
    <div align="center"><font color=#FF0000 size="2">
    <a target="_blank"
    href="ricerca.php?from=0&step=10&l=default&a=s&id= &horo=0&agef=18&aget=99&categoria=<?=$i[categoria]?>&purpose=0&country=0&regin=0&sortby=0">
    <?=$i[gender]?>:
    </a></font></div></td>
    </tr> <tr> <td> <div align="center">
    <a href="annuncio.php?l=<?=$l?>&id=<?=$i['id']?>"
    class=desc><img src="<?=C_URL?>/members/uploads/<? =non_pieno($i['pic1'],$i['pic2'],$i['pic3'],$i['pi
    c4'],$i['pic5'],$i['pic6'],$i['pic7'],$i['pic8'],$
    i['pic9'],$i['pic10']); ?>" width=60 height="80" align="middle" ?></a>
    </div></td></tr> <?}?> </table>
    Credo che sia abbastanza chiaro, chiarisco che la funzione non pieno verifica esista almeno una foto.

    Ora le foto vengono cercate nella categoria "12", ma io avrei bisogno che lo script "legga" tutte le 15 categorie e mi dia random 4 o 5 categorie che contengano almeno una foto, la categoria di appartenenza e eventuali altri record contenuti nella rispettiva query.
    Grazie in anticipo
    Mario

  2. #2

  3. #3
    Codice PHP:
    $tmp=mysql_query("SELECT * FROM
    "
    .C_MYSQL_MEMBERS." WHERE (pic1 != ''
    OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''
    OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != ''
    OR pic10 != '') AND status >= '7' AND categoria = '12'
    AND id >="
    .rand(0$max_rand)." LIMIT 1"); 
    io farei:

    Codice PHP:
    $tmp=mysql_query("SELECT * FROM
    "
    .C_MYSQL_MEMBERS." WHERE (pic1 != ''
    OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''
    OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != ''
    OR pic10 != '') AND status >= '7' ORDER BY [B]RAND()[/B] LIMIT 1"
    ); 
    Ora dovrebbe prenderti una riga a caso dove c'è almeno una foto su una qualsiasi categoria...
    Il RAND ti permette di avere le righe ordinate a caso, quindi prendendo la prima, sei apposto...
    Spero ti possa essere d'aiuto e che sia quello di cui avevi bisogno
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  4. #4
    Ciao sbatti sbatti la testolina e ho risolto in qst modo:
    con un ciclo if ripetuto per il numero delle categorie ho chiesto al db, categoria per categoria quele avesse almeno una foto, quindi con while verifico ke la query avesse valore e in quel caso ho iserivo il valore della categoria in un apposito array dichiarato a monte dello script. Mescolata dell'array con shuffle e nuovo ciclo if con partenza da o fino al numero di elementi della array citato prima; questo ciclo riproduce la richiesta al db uguale a quella di prima ma con il valore della categoria dato dal valore contenuto dall'elemento dell'array... un pò makkinoso ma funziona: eccovi lo script:

    <?php
    include_once 'include/config.inc.php';
    include_once 'include/options.inc.php';
    include_once 'include/security.inc.php';
    include_once 'include/functions.inc.php';
    ?>

    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 2</title>
    <style type="text/css">
    <!--
    body {
    color:#0000FF;
    font-family: "Comic Sans MS";
    font-size:1;
    }
    -->
    </style>
    </head>
    <div align="center">
    <body bgcolor="#CCCCCC" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
    <Marquee Behavior="Scroll" Direction="Down" Height="750" ScrollAmount="1" ScrollDelay="75" onMouseOver="this.stop()" onMouseOut="this.start()">
    <table border="0" width="124" id="table1" bgcolor="#CCCCCC">
    <?
    $category = Array();
    for ($p=1;$p<=15;$p++) {
    $tmp=mysql_query("SELECT MAX(id) as maxid FROM ".C_MYSQL_MEMBERS." WHERE (pic1 != '' OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != '' OR pic10 != '') AND categoria = '$p' AND status >= '7'");

    $trows = mysql_fetch_array($tmp);
    $max_rand = $trows['maxid'];

    $tmp=mysql_query("SELECT * FROM ".C_MYSQL_MEMBERS." WHERE (pic1 != '' OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != '' OR pic10 != '') AND status >= '7' AND categoria = '$p' AND id >=".rand(0, $max_rand)." LIMIT 1");

    while ($i=mysql_fetch_array($tmp)) {$category[count($category)] = $i[categoria] ; }}
    shuffle($category);
    for ($p=0;$p<=count($category);$p++) {
    $tmp=mysql_query("SELECT MAX(id) as maxid FROM ".C_MYSQL_MEMBERS." WHERE (pic1 != '' OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != '' OR pic10 != '') AND categoria = '$category[$p]' AND status >= '7'");

    $trows = mysql_fetch_array($tmp);
    $max_rand = $trows['maxid'];

    $tmp=mysql_query("SELECT * FROM ".C_MYSQL_MEMBERS." WHERE (pic1 != '' OR pic2 != '' OR pic3 != ''OR pic4 != '' OR pic5 != ''OR pic6 != '' OR pic7 != ''OR pic8 != '' OR pic9 != '' OR pic10 != '') AND status >= '7' AND categoria = '$category[$p]' AND id >=".rand(0, $max_rand)." LIMIT 1");

    while($i=mysql_fetch_array($tmp)) {
    ?>
    <tr>
    <td width="104" bgcolor="#999999">
    <div align="center"><font color=#FF0000 size="2"><a target="_blank" href="ricerca.php?from=0&step=10&l=default&a=s&id= &horo=0&agef=18&aget=99&categoria=<?=$i[categoria]?>&purpose=0&country=0&regin=0&sortby=0">
    <?=$wg[$i[categoria]]?>:</a></font></div></td>
    </tr>
    <tr>
    <td> <div align="center">[img]<?=C_URL?>/members/uploads/<?=non_pieno($i['pic1'],$i['pic2'],$i['pic3'],$i['pic4'],$i['pic5'],$i['pic6'],$i['pic7'],$i['pic8'],$i['pic9'],$i['pic10']); ?>[/img]
    </div></td></tr>
    <?}}?>
    </table>
    </div>

    grazie per la risposta, spero che lo script possa essere d'auto ad altri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.