Теглене от DB и запис в файл

sle

Registered
Как може да стане при всяко натискане да ми истегля запис от базата данни който го няма в файла Iztegleni.txt и след като е истеглен да го записва там за да не може да се тегли 2ри път?



Код:
<form method="post">
<input type="submit" name="get" class="button" value="ИЗТЕГЛИ" />
</form><br /><br />

<?php
if (isset($_POST['get']))
{

$links_file="istegleni.txt";
$handle1 = fopen($links_file, 'r');
$data1 = fread($handle1, filesize($links_file));
$rowsArr_links = explode("\n", $data1);

$sql = " SELECT email FROM users WHERE $rowsArr_links NOT LIKE email ORDER BY RAND() LIMIT 1";
$query=mysql_query($sql) or die ('die:'.mysql_error());

while($rows=mysql_fetch_assoc($query)) { 
	
	echo '<font class="text">Победителят е: '.$rows['email'].'</font>';

$ipcounter = "istegleni.txt";  
$fp = fopen($ipcounter, 'a+'); 
fwrite($fp, $rows['email']."\n"); 
fclose($fp); 
}
}
?>

Направих този код ,но не става номера. Някой може ли да помогне?
 

somebody

Registered
Ето как бих го направил аз - посредством масиви..

HTML:
<form action="" method="post">
<input type="submit" name="get" class="button" value="Изтегли" />
</form><br /><br />

PHP:
//свързване към базата данни
if (isset($_POST['get'])) {
    $array=file('iztegleni.txt');
    $values=array();
    $records=array();
    foreach($array as $v) {
         $values[]=trim($v);
    }
    $query=mysql_query('SELECT email FROM users');
    while($row=mysql_fetch_assoc($query)) {
    $records[]=$row['email'];
    }
    foreach($records as $k=>$v) {
          if(in_array ($v,$values)) unset($records[$k]);
    }
    if(count($records)>0) {
         $winner=array_rand($records);
         file_put_contents('iztegleni.txt',$records[$winner]."\n",FILE_APPEND);
         echo 'Победителя е '.$records[$winner];
    }
   else echo 'Няма повече победители, изтеглихме всички. :)';
}

Остава само да си създадеш един файл iztegleni.txt , и да го стартираш :wink: Ако те интересува кое какво прави питай.
 

Горе