Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di _kime_
    Registrato dal
    Sep 2003
    Messaggi
    311

    [php+mysql]controllo array

    se metto in un array i record di una tabella come posso scorrerla e fermarmi dove c'è un buco per riempirlo oppure se nn ci sono buchi andare alla fine e aggiungere 1??

    esempio

    ID

    1
    2
    4

    arriva a due trova buco e prende 2 aggiunge ++

    e il controllo del buco che nn so fare...
    + / Powered by Ubuntu 4.10 "The Warty Warthog"

    + / Manuale PHP.net

    + / Think Free

  2. #2
    Perché vuoi riempire un buco? Forse non si è ben capita la domanda... :master:

  3. #3
    Utente di HTML.it L'avatar di _kime_
    Registrato dal
    Sep 2003
    Messaggi
    311
    ho necessita' di riempire quel buco siccome ho molti id voglio utilizzare tutti i numeri in modo da nn avere mai salti...
    + / Powered by Ubuntu 4.10 "The Warty Warthog"

    + / Manuale PHP.net

    + / Think Free

  4. #4
    Utente di HTML.it L'avatar di _kime_
    Registrato dal
    Sep 2003
    Messaggi
    311
    + / Powered by Ubuntu 4.10 "The Warty Warthog"

    + / Manuale PHP.net

    + / Think Free

  5. #5
    codice:
    	function holes($tablename, $idname)
    	{
    		$query = "select max($idname) from $tablename";
    		$res = mysql_query($query);
    		list($max_id) = mysql_fetch_row($res);
    		$query = "select count(*) from $tablename";
    		$res = mysql_query($query);
    		list($count_id) = mysql_fetch_row($res);
    		$count_id = $db->get($query);
    		if($max_id == $count_id)
    		{
    			return $max_id++;
    		}
    		else
    		{
    			$i = 1;
    			$not_id = array();
    			$trovato = 0;
    			while($i<$count_id and !$trovato)
    			{
    				$query = "select $idname from $tablename where find_in_set($i, id) >0;";
    				$res = mysql_query($query);
    				list($id_find) = mysql_fetch_row($res);
    				if($id_find)
    					$i++;
    				else
    					$trovato = 1;
    			}
    			return $i;
    		}
    	}
    
    	echo holes('articoli', 'id');
    Questa funzione è l'unica idea che mi è venuta. Non mi sono studiato nel manuale se si può fare qualcosa di simile attraverso una semplice query. Qualcuno più esperto di mysql potrebbe darti un maggiore aiuto.

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.