Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Lieta tāda.. Tiek ierakstīti keywordi datubāzē..

 

Pieņemsim, tiek vienam laukam ierakstīti keywordi: auto, bmw, audi..

 

Kā lai dabūt ārā viņus linkos..?

 

Izmantoju caur group by, bet tad uzreiz auto, bmw, audi izvadas linkā kā viens keywords..

 

kā izvilkt pareizo lauku laikam esmu sapratis...

Like '%$keyword%'

bet kā lai attēlo tos keywordus atsevišķi linkos..?

Edited by Blackout
Posted

A kāpēc tev tie ieraksti nestāv jau katrs savā rowā?

 

$result = mysql_query("SELECT DISTINCT topic_tags FROM project_topics order BY topic_views desc

" );

while($row= mysql_fetch_assoc($result))

{

echo

"<li><a href='atslegvardi.php?search_keywords=".$row["topic_tags"]."&showresults=topics' class='Tips3' title='Atslēgvārds ::".$row["topic_tags"]."'>".$row["topic_tags"]." </a><li> ";

}

 

Nu šādi es vismaz to daru. Droši vien var jau kaut kā krutāk.

Posted

Andrisp: Varbūt vari parādīt, kā pareizi izvadīt..? Pieņemsim ir tabula ar precēm, keywords vienai precei ir ierakstiits: prece, datortehnika un otrai datortehnik, prece..

 

Kā pareizi izvilkt, atdalīt un izdarīt tā lai neatkārtojas.. Jo ja dalīšu, tikuntā izvadīs

 

prece, datortehnika, datortehnika, prece..

 

kā pareizi uzrakstīt queriju un to sadalīt..?

 

Paldies!

Posted

viens variants likt tos visus keivordus masiivaa un pirms likshnas masiivaa, paskatiities vai masiivaa jau taads nav

ja nav tad ieliekam ...

un peec tam izvadaam :)

Posted

Blackout, es sākumā domāju, ka tev vajag vienam konkrētam ierakstam tagus izdrukāt kā linkus. Tad varētu darīt šādi:

$tags = explode(',', $tagu_strings_no_db);
foreach($tags as $tag) {
 echo '<a...';
}

 

Ja vajag dabūt visu unikālo tagu sarakstu, tad tik vienkārši ar SQL neiztiksi, ja glabā tagus katram ierakstam vienā laukā atdalītus ar komatiem. Nebūs pārāk optimāli, bet varētu šādi (tas ir tikai viens risinājums):

$all_tags = array();
SELECT tags FROM table;
ciklējam cauri ierakstiem {
 $all_tags = array_unique(array_merge($all_tags, explode(',', $tagu_strings));
}

 

PS. Nevienu no kodiem nepārbaudīju vai strādā.

Posted (edited)

Paskaties manu piemēru, tur viss ir tieši tā, kā tev vajag (Varbūt nedaudz līki). Plus, lai nerādītu divus vienādus ierakstus lieto SELECT DISTINCT.

 

20080930010214270.JPG

Edited by foxsk8
Posted

foxsk8, autors taču jau teica, ka ieraksta tagi tiek glabāti atdalīti ar komatiem kā strings. Tādā gadijumā tavs variants viņam neder. Bet, protams, var jau pārtaisīt. Man labāk arī patīk tavs variants.

Posted

Em, nebiju nemaz liku ieliecis uz apskati, ja godīgi es pats tagad tos tagus tik iesāku veidot. Tagad cīnos ar noformējumu + kā pēc tam no tā mākoņa smuki parādīt tēmas.

Posted (edited)

es līdz izvadei vēl neesmu ticis..

 

Mjaa, nekas nesanāk, Andra, piemērs arī neder.. Nedalec man kautkas..

Edited by Blackout
Posted

ja godīgi, es pat nezinu, kā pareizi uzrakstīt..

 

$all_tags = array();
$string = mysql_query("SELECT keywords FROM prece");
$stringsql = mysql_fetch_array($string); 
foreach ($stringsql as $tagu_strings) {
  $all_tags = array_unique(array_merge($all_tags, explode(',', $tagu_strings))); 
  print $all_tags;
}

 

kautkādu murgu pierakstiju..

Posted

Nu izskatās, ka tev sagādā problēmas pat vienkārša sql rezultseta izdrukāšana. Paskaties manuālī kā jālieto mysql_fetch_array (bet vispār uzreiz iesaku lietot mysql_fetch_assoc)

Posted

MySQL man nesāgādā grūtības, bet es nesaprotu pašu principu, kā lai izvada visus unikālos vārdus arrayā..

 

Ir lietas, kas liekas ļoti vienkāršas, bet nu vnk. nedalec..

×
×
  • Create New...