O mica mare problema
Moderatori: Zamolxe, Moderatori
-
voodoo
- PHPRomania Supporter
- Mesaje: 25
- Membru din: Lun Apr 19, 2010 6:02 pm
- Localitate: Iasi
- Contact:
O mica mare problema
Am un script gen: dexonline care ia cuvintele din baza de date dexonline.ro. Acum vine problema vreau ca, cuvintele care au fost cautate sa fie salvate intr-un fisier si apoi din script sa apara ultimile 50 sau 30 de cautari, ceva de genu. Multumesc!
- zeuscool
- Senior Member
- Mesaje: 250
- Membru din: Mie Sep 05, 2007 10:59 am
- Localitate: Constanta
- Contact:
fa cum a zis MihaiA, sa nu te doara capul rau pe viitor
daca totusi preferi varianta ta:
iei continutul sa zicem cu file_get_contents ...
ii dai explode dupa o regula, sa zicem, " " sau ", " sau cum ai tu acolo, daca e linie noua incearca cu "\r\n", si o sa ai un array, aplicti functia reverse pentru array si il parcurgi crescator cu un for, sau il parcurgi direct fara reverse descrescator
si voila, problema rezolvata
daca totusi preferi varianta ta:
iei continutul sa zicem cu file_get_contents ...
ii dai explode dupa o regula, sa zicem, " " sau ", " sau cum ai tu acolo, daca e linie noua incearca cu "\r\n", si o sa ai un array, aplicti functia reverse pentru array si il parcurgi crescator cu un for, sau il parcurgi direct fara reverse descrescator
si voila, problema rezolvata
Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ...
marianzburlea.com
- zeuscool
- Senior Member
- Mesaje: 250
- Membru din: Mie Sep 05, 2007 10:59 am
- Localitate: Constanta
- Contact:
in functie de multe multe variabile, situatia poate diferi, de aceea eu nu dau nici un +, aleg dupa testare varianta care e mai rapida, asta cauta si el
daca cum am zis eu mai rapid e bine, asta o alege, daca nu sa mearga pe baza de date.
daca cum am zis eu mai rapid e bine, asta o alege, daca nu sa mearga pe baza de date.
Follow me on (Da cu share, like, +1 sau ce mai stii !!!) sau comenteaza articolele, sugereaza etc, FII SOCIAL ...
marianzburlea.com
-
voodoo
- PHPRomania Supporter
- Mesaje: 25
- Membru din: Lun Apr 19, 2010 6:02 pm
- Localitate: Iasi
- Contact:
vreau sa fac un sitemap si imi da eroarea asta: Parse error: syntax error, unexpected T_STRING in /home/============/sitemap.php on line 6
Cod: Selectaţi tot
<?
// Connecting, selecting database
$link = mysql_connect(’localhost’, ‘=======’, ‘=====’)
or die(’Could not connect: ‘ . mysql_error());
mysql_select_db(’=======’) or die(’Could not select database’);
$query = 'SELECT name FROM dex WHERE name = ORDER BY definition ASC';
$result = mysql_query($query) or die(’Query failed: ‘ . mysql_error());
header (”Content-type: application/xml”);
echo “<?xml version=\”1.0\” encoding=\”UTF-8\”?>
<urlset xmlns=\”http://www.google.com/schemas/sitemap/0.84\”>\n”;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($line as $col_value)
{
echo “<url>\n”;
echo “<loc>http://========/cevapeaici.php?coloana=$col_value</loc>\n”;
echo “</url>”;
}
}
echo “</urlset>\n”;
mysql_free_result($result);
mysql_close($link);
?>Cod: Selectaţi tot
<?
// Connecting, selecting database
$link = mysql_connect('localhost', '=======', '=====')or die('Could not connect: ' . mysql_error());
mysql_select_db('=======') or die('Could not select database');
$query = 'SELECT name FROM dex WHERE name = ORDER BY definition ASC';
$result = mysql_query($query) or die('Query failed: '. mysql_error());
header ("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($line as $col_value)
{
echo "<url>\n";
echo "<loc>http://========/cevapeaici.php?coloana=$col_value</loc>\n";
echo "</url>";
}
}
echo "</urlset>\n";
mysql_free_result($result);
mysql_close($link);
?>
s-ar putea sa mearga,nu am incercat ! si nu mai folosi caractere de genul ````````’’’’’’’’’’’’’
-
voodoo
- PHPRomania Supporter
- Mesaje: 25
- Membru din: Lun Apr 19, 2010 6:02 pm
- Localitate: Iasi
- Contact:
Merge, multumesc, dar am fost nevoit sa renut la order by asc, ca imi dadea eroare si la aia. Mai am o intrebare: cum pot sa fac sa genereze doar un numar de linkuri pe pagina? Ca vreau sa fac sitemapul la un dex si contine vreo 7 milioane de cuvinte si asta ar insemna vreo 7 milioane de linkuri intr-o pagina, ceea ce nu e posibil. Imi trebuie ceva performant, eventual un sitemap pe litere. Sau exista vriun program care sa faca sitemap dupa o baza de date?
Ultima oară modificat Vin Noi 11, 2011 11:26 am de către voodoo, modificat 1 dată în total.
Cod: Selectaţi tot
ORDER BY ASC DESC LIMIT 0,10LIMIT start de la un numar,oprire la un numar
iti dadea eroare pentru ca :
Cod: Selectaţi tot
$query = 'SELECT name FROM dex WHERE name = ORDER BY definition ASC';
name= cu ce?
poate :
Cod: Selectaţi tot
name = '';
sau
Cod: Selectaţi tot
name = LIKE'%ceva%'
sau
Cod: Selectaţi tot
name = ceva
si asa mai departe
-
voodoo
- PHPRomania Supporter
- Mesaje: 25
- Membru din: Lun Apr 19, 2010 6:02 pm
- Localitate: Iasi
- Contact:
name, e numele cuvantului din baza de date, care vine pus pe link in sitemap asa http://link.rp/definitiecuvant.php?coloana='name'.
si atunci interogarea mysql nu ar trebui sa fie asa:
??
Cod: Selectaţi tot
$query = 'SELECT name FROM dex WHERE name ='".$_GET['name']."' ORDER BY definition ASC';
??
-
voodoo
- PHPRomania Supporter
- Mesaje: 25
- Membru din: Lun Apr 19, 2010 6:02 pm
- Localitate: Iasi
- Contact:
Nu a mers, tot eroare. Am lasat asa.
<?
// Connecting, selecting database
$link = mysql_connect('localhost', '-----', '------')or die('Could not connect: ' . mysql_error());
mysql_select_db('---------') or die('Could not select database');
$query = 'SELECT name FROM dex';
$result = mysql_query($query) or die('Query failed: '. mysql_error());
header ("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($line as $col_value)
{
echo "<url>\n";
echo "<loc>http://------------/definitiecuvant.php?w=$col_value</loc>\n";
echo "</url>";
}
}
echo "</urlset>\n";
mysql_free_result($result);
mysql_close($link);
?>
Partea nasoala e ca google imi ia doar 50 000 de linkuri, dar nu pe toate. Ma gandeam la un program care sa ia toate linkurile din sitemapul asta si sa faca alte sitemapuri a cate 50000 sau 10000 de linkuri. Exista?
<?
// Connecting, selecting database
$link = mysql_connect('localhost', '-----', '------')or die('Could not connect: ' . mysql_error());
mysql_select_db('---------') or die('Could not select database');
$query = 'SELECT name FROM dex';
$result = mysql_query($query) or die('Query failed: '. mysql_error());
header ("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
foreach ($line as $col_value)
{
echo "<url>\n";
echo "<loc>http://------------/definitiecuvant.php?w=$col_value</loc>\n";
echo "</url>";
}
}
echo "</urlset>\n";
mysql_free_result($result);
mysql_close($link);
?>
Partea nasoala e ca google imi ia doar 50 000 de linkuri, dar nu pe toate. Ma gandeam la un program care sa ia toate linkurile din sitemapul asta si sa faca alte sitemapuri a cate 50000 sau 10000 de linkuri. Exista?
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 29 vizitatori