hola a todos tengo una pagina web la cual le hago promocion via twitter
googleando por alli consegui la manera de hacerlo y me funciona pero no de la manera que yo espero
la cuestion es simple funciona de la siguiente manera
creas una base de datos alli introduces los twetts que deseas publicar y el codigo en php te los va publicando
pero hay un problema que siempre me envia practicamente los mismos tweets o tiene preferencia por algunos no mencionando otros que son tambien de importancia
en mi base de datos tengo 35 twetts me gustaria que los fuera publicando de uno en uno de manera ascendente osea empiece por el 1 luego el 2 despues el 3 mas adelante el 4 mas tarde el 5 y asi hasta llegar al 35 y se devuelva de nuevo al 1 y siga su ciclo de nuevo pero no consigo como hacerlo
ACA PEGO EL CODIGO ORIGINAL
<?php
//www.webinfopedia.com
//http://www.webinfopedia.com/auto-tweet-with-oauth-in-php.html esta es la pagina de donde saque la informacion pero en estos instante no funciona la pagina
$consumerKey = 'mi consumer key';
$consumerSecret = ' mi consumer secret';
$oAuthToken = 'mi oAuthToken';
$oAuthSecret = 'mi oAuthSecret';
require_once('twitteroauth.php'); // este es un archivo que me descargue
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
require_once("db.php"); // este es mi archivo de conexion
$sql=mysql_query("select title from tweets order by rand()");
$showfetch=mysql_fetch_array($sql);
$tweet->post('statuses/update', array('status' => $showfetch['title'] ));
?>
ESTE ES OTRO EDITADO PERO ME DA LOS MISMOS ERRORES TWITTEA PERO DE MANERA ALEATORIA Y CON PREFERENCIA A CIERTOS TWEETS
<?php
//www.webinfopedia.com
//http://www.webinfopedia.com/auto-tweet-with-oauth-in-php.html
$consumerKey = 'mi consumerkey';
$consumerSecret = 'mi consumersecret';
$oAuthToken = 'mi oAuthToken';
$oAuthSecret = 'mi oAuthSecret';
require_once('twitteroauth.php');
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
require_once("db.php");
$i=0;
$sql=mysql_query("SELECT title FROM tweets ORDER BY id ASC");
while($row = mysql_fetch_array($sql)){
$showfetch[$i++]['title']=$row;
}
shuffle($showfetch);
$tweet->post('statuses/update', array('status' => $showfetch[0]['title'] ));
?>
sinceramente ya no se que mas hacer
puedes colocarle un "ultima fecha"
tal que si lo twittea, coloque la fecha... y le agregas que los descarte tambien por fecha...
es decir...
si twittea lo coloca la fecha en la tabla, si twitteas a cada 5 minutos, ninguno se debería repetir antes de la mitad del tiempo...
select title from tweets where fecha < UNIX_TIMESTAMP(NOW() - INTERVAL 90 minutes) order by rand() limit 1
es decir, selecciona los twitts cual fecha sea menor que este momento -90 minutos, los ordena al azar y retorna solo uno (el primero)
no te sirve? así disminuirías la tendencia... (no lo pongas al tiempo maximo porque si no se vuelve un ciclo lineal)
no entendi muy bien tu respuesta
me dices que coloque tu codigo tal cual como esta
SELECT title FROM tweets WHERE fecha < UNIX_TIMESTAMP(NOW() - INTERVAL 90 minutes) ORDER BY rand() LIMIT 1
y me cree una tabla fecha donde se guardaran las fechas de cada tweets que se envioa
ahora mi pregunta es con que codigo se va a introducir esas fechas a la tabla fecha
no... a tu tabla...
agregas el campo fecha...
seleccionas como te dejé...
si se twittea, haces update a la fecha...
y listo... el valor predeterminado de fecha, debe ser 0
ya que tienes pocas lineas, debeías cambiar la extension mysql por mysqli (es mayormente identico... basicamente le agregas la "i" a todo XD)
Citarsi se twittea, haces update a la fecha
pero ese update lo hace el codigo que tu me enviastes ose mi pregunta directa es
creando un campo fecha
colocando tu codigo
SELECT title FROM tweets WHERE fecha < UNIX_TIMESTAMP(NOW() - INTERVAL 90 minutes) ORDER BY rand() LIMIT 1
ese mismo codigo inserta en en campo fecha las fechas de cada twetts enviado y hec el udate
en pocas palabras
creo un campo fecha
copio y pego eso y mas nada problema resuelto
no! D:
eso es un select! D: eso solo toma los datos...
luego el update sería con
UPDATE tweets SET fecha=NOW() where title='$showfetch[title]'
en esa ultima variable no estoy seguro... pero es algo que identifique únicamente al twitt en tu base de datos
aja y como ingresaria la fecha de los tweets en la base de datos
se hace de forma automatica o como
colocas un nuevo campo tipo date con valor prederteminado 0... si lo haces en phpmyadmin es solo eso