Más dudas de PHP

HOla:
Te vuelvo a preguntar a ti porque me ha satisfecho tu respuesta anterior...
Estoy haciendo una pequeña web y necesitaría que me ayudases en dos temas.
1º: Tengo en mi base de datos mySQL un campo llamado contador, el cual me gustaría que se fuese autoincrementando cada vez que una persona haga un click en un link tipo http://mipagina.servidor.com/trucos/vertruco.php?IdTruco=numero de truco
¿Qué código PHP y relación con la base de datos necesitaría? O si sabes de algún script ya hecho, donde conseguirlo y como configurarlo.
El 2º tema es: Buscador PHP con búsqueda booleana. Me bajé de hotscripts el dgssearch, de tipo google, pero con la pega de que no sorporta búsqueda boolena, por lo que solo se puede buscar con una sola palabra. ¿Sabes o tienes algún script de búsqueda en PHP para mySQL que me recomiendes y que sea bueno?...
Muchas gracias por todo. Espero tu respuesta.
Respuesta
1
1 - Creo que este ejemplo te servirá:
http://www.juicystudio.com/tutorial/php/outlink.asp
Sólo se tiene que crear una tabla con 2 campos (como mínimo) y poner en la página un enlace del estilo del que has puesto en tu pregunta. En este caso vertruco.php augmentaría el contador y luego haría la redirección hacia el link.
Añádele un campo ID (autonumérico por ejemplo) a la tabla del script anterior para poderlos llamar por éste ID y no por la url.
En el contador del ejemplo no hace falta introducir la url en la tabla, ya que si no existe ése link en la bdd, lo inserta. Es sencillo, modifícalo a tu antojo.
2 - En cuanto a lo del buscador, puedes probar a cambiar el código. Aquí encontrarás la documentación para realizar búsquedas indexadas en MySQL:
http://dev.mysql.com/doc/mysql/en/Fulltext_Search.html
Sinó también puedes bajarte estos scripts, que sí incluyen búsqueda booleana:
PHPMySearch --> http://web4.hm/phpmysearch/phpmysearch_download.php
JADE --> http://scripts.digitalmakers.com/dmjade.php
No dudes en preguntar, intentaré ayudarte en lo que pueda. Suerte con la web. Saludos,
iNphYx
Je je se nota que soy principiante en esto del PHP. Lo del contador de links ya está arreglado. Fue una tontería de un newbie.
Lo que si me intriga es lo del buscador, como ya te he dicho arriba. Parece que el jade este está bien, ¿lo conoces bien tú?... es que de su funcionalidad me interesaría sacar un par de cosillas:
1-Poner en mi index.php un campo de texto para hacer la búsqueda desde cualquier página. Sé como hacerlo, pero no encuentro cual es el fichero .php que realiza la búsqueda en la base de datos (¿será tal vez jade.php?)
2-¿Cómo funciona jade?. Es que no entiendo la funcionalidad de las categorías estas.
Espero que "sigas pudiendo" ayudarme...
Un saludo.
Gracias por tu respuesta.
Lo del buscador está bien, fácil de instalar, ahora tendré que configurarlo y ver como funciona.
REspecto a lo del contador de links, tengo una pequeña duda... te escribo los códigos para que veas como lo he puesto:
7go.php (el que redirecciona a link que quiero contar, en este caso vertruco.php?IdTruco=nºde truco)
<?php
$yoursite= "http://localhost/trucalia/trucos/";
### Define database values
$dbhost = "localhost"; // database host
$dbuser = "****"; // database username
$dbpassword = "****"; // database password
$db2use = "trucalia"; // name of database
?>
<?php
### --- NO CHANGES BELOW THIS LINE --- ###
function dbconnect()
{
global $dbhost, $dbuser, $dbpassword, $db2use;
$link = @mysql_connect($dbhost,$dbuser,$dbpassword)
or die("Connection failed: Please try later.");
@mysql_select_db($db2use,$link)
or die("Connection to database refused: Please try later.");
return $link;
}
// Connect to database
dbconnect();
if (!empty($site))
{
$qry = "SELECT hits FROM url_redirect WHERE site = '$site'"
$hitcounter = mysql_query($qry);
$hitcount = mysql_fetch_array($hitcounter);
$hits = $hitcount[0];
// next check if URL is in database
if ($hits == 0)
{
// if not then add it!
$newurl = "INSERT INTO url_redirect (site,hits) VALUES('$site',1)";
}
else
{
// Site already exists so just update the hit count
$newurl = "UPDATE url_redirect SET hits=$hits+1 WHERE site='$site'";
}
mysql_query($newurl);
mysql_close();
// re-direct to the required site as defined
// in the "go.php?site" link
header ("Location: $site");
exit;
}
else
{
// site variable not entered, so redirect back to
// "yoursite" as defined above
header ("Location: $yoursite");
exit;
}
?>
Me da un error en la línea 29:
Parse error: parse error in c:\apache\htdocs\trucalia\trucos\go.phpon line 29 que es la línea:
$hitcounter = mysql_query($qry);
En el tutorial que me mandaste dice que el link para pasar por go.php y que aumente el contador para que luego vaya a la dirección en cuestión es:
<a href="go.php?site=http://www.juicystudio.com/">Visit Juicy Studio</a>
Yo tengo puesto este:
<a href="go.php?site=http://localhost/trucalia/trucos/vertruco.php?IdTruco=<?php echo $row_rsTrucoRecomendado['IdTruco']; ?>">
Supongo que esta línea estará bien, pero no sé por que me da ese error en la línea 29...
La tabla de la base de datos es la misma que la que te ofrecen hacer en el tutorial ese.
Espero que me sepas ayudar de nuevo.
Gracias.
No sé como funcionan estos buscadores, ya te comenté que no los había probado. Con estas cosas se tiene que ir tanteando y fijarse en el código para entender cómo funcionan y poder adaptarlos a tu sitio. De todos modos he mirado un poco el código y he visto que la estructura del formulario es la siguiente:
<?
$retorno = "<form action='".$jadevars['home'].$_SERVER['PHP_SELF']."' name='searchform' method='POST'>";
$retorno .= " <input type='text' size='13' name='query' value='".$keywords."'>";
$retorno .= " <input type='hidden' name='action' value='search'";
$retorno .= " <input type='submit' value='Buscar!'>";
$retorno .="</form>";
?>
$retorno contiene el código del formulario:
<?=$retorno;?>
Fíjate que la página de destino es la misma que la del formulario, jade.php. Si incluyes este formulario en tu página y pones como form action jade.php funcionará.
El campo query tiene como valor la variable $keywords, esto es porque como el formulario se somete en la misma página el valor de la búsqueda se mantiene en el textbox.
Me imagino que las categorías las puedes definir tú en la bdd para diferenciar por ejemplo una descarga de un artículo o una noticia.
Siento no poder ayudarte en esto.
Saludos,
iNphYx

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas