Blackout Posted September 29, 2008 Report Posted September 29, 2008 (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 September 29, 2008 by Blackout
andrisp Posted September 29, 2008 Report Posted September 29, 2008 Ar php explode() sadali to stringu daļās un tad izvadi.
foxsk8 Posted September 29, 2008 Report Posted September 29, 2008 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.
Blackout Posted September 30, 2008 Author Report Posted September 30, 2008 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!
Klez Posted October 1, 2008 Report Posted October 1, 2008 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 :)
andrisp Posted October 1, 2008 Report Posted October 1, 2008 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ā.
foxsk8 Posted October 1, 2008 Report Posted October 1, 2008 (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. Edited October 1, 2008 by foxsk8
andrisp Posted October 1, 2008 Report Posted October 1, 2008 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.
Blackout Posted October 1, 2008 Author Report Posted October 1, 2008 Paldies, visiem, ņemšu vērā.. foxsk8 - kādēļ tu nodzēsi linku uz savu piemēru, labprāt paskatītos.. ;)
foxsk8 Posted October 1, 2008 Report Posted October 1, 2008 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.
Blackout Posted October 1, 2008 Author Report Posted October 1, 2008 (edited) es līdz izvadei vēl neesmu ticis.. Mjaa, nekas nesanāk, Andra, piemērs arī neder.. Nedalec man kautkas.. Edited October 1, 2008 by Blackout
Blackout Posted October 1, 2008 Author Report Posted October 1, 2008 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..
andrisp Posted October 1, 2008 Report Posted October 1, 2008 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)
Blackout Posted October 1, 2008 Author Report Posted October 1, 2008 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..
Recommended Posts