Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Humane (2024)

Recomandare casti 100-150 lei

Schimbare bec far VW Touran 1T3

Plata impozit PF
 Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024

Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...
 Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica

Ce componenta e asta si ce ziceti...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 

nu reusesc sa fac un search sa functioneze

- - - - -
  • Please log in to reply
20 replies to this topic

#1
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
...salut chip forum.
am creat o baza de date in care sunt introduse variate stiri.
ei... am facut un search insa...primesc eroarea:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in site/rezultate_search.php on line 43

acest search initial l-am creat pentru un dictionar. introduceai termenul si selectai modul de cautare (dupa termen sau in definitii). eu am incercat acum sa adaptez search-ul asta pentru a cauta stiri pe site...

deocamdata, scriptul se concentreaza pe prima sectiune de stiri, ACTUALITATE, dupa cum reiese din codul de mai jos. tabela ACTUALITATE are 3 campuri: id, titlu_continut, continut. iar eu vreau s-afiseze doar link-urile....deocamdata...

dar...se pare ca nu l-am adaptat bine...pt ca imi da eroarea mentionata mai sus.

formularul are urmatorul cod:

echo'<form action="rezultate_search.php" method="post">
	Cauta:<BR>
<input type="text" name="searchterm" size="15">
<BR>
	<font class="meniu_stanga">Categoria:</font><BR>
	<select name="searchtype">
		<option value="actualitate">Acutalitate</option>
		<option value="business">Business</option>
		<option value="cultura">Cultura</option>
		<option value="international">International</option>
		<option value="monden">Monden</option>
		<option value="politica">Politica</option>
		<option value="sport">Sport</option>
		<option value="social">Social</option>
	</select>
<BR>
	
<input type="submit" value="Cauta">
</form>';
iar rezultate_search.php are codul:
<?php
	$searchtype=$_POST['searchtype'];
	$searchterm=$_POST['searchterm'];
	$actualitate=$_POST['acutalitate'];
	$business=$_POST['business'];
	$cultura=$_POST['cultura'];
	$international=$_POST['international'];
	$monden=$_POST['monden'];
	$politica=$_POST['politica'];
	$social=$_POST['social'];
	$sport=$_POST['sport'];
	$searchterm=trim($searchterm);

	if(!$searchtype || !$searchterm)
	{
		echo "Nu ai introdus detaliile cautarii!";
		exit;
		
	}
	
	$searchtype=addslashes($searchtype);
	$searchterm=addslashes($searchterm);
	if ($searchtype=='actualitate')
	{

		$db=mysql_connect("localhost","*","*") or die(mysql_error());
		if(!$db)
			{
				echo "Eroare. Nu s-a putut realiza conexiunea cu baza de date. Incercati
				mai tarziu";
				exit;
			}

		mysql_select_db('*') or die("Nu s-a putut select baza!");
		$query="select * from actualitate where ".$searchtype." like '%".$searchterm."%'";
		$result=mysql_query($query);
		
		$num_results=mysql_num_rows($result);
		echo "<p>Numar rezultate: ".$num_results."</p>";
		for($i=0;$i<$num_results;$i++)
			{

				while($rand=mysql_fetch_array($result))
						{
							 
							echo "<img src='dot.jpg'> <a href=\"afisare_actulitate.php?id=".$rand['id']."\">".stripslashes($rand['titlu_continut'])."</a><BR>";
						}
			}
	}
	else
	{
		echo 'wrong';
	}
?>

aveti vreo idee?

#2
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
ceva de genul, desi parerea mea e ca te-ai complicat:
$query="select * from ".$searchtype." where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%'";

ps: iar ca o nota personala prefer cautarea cu MATCH AGAINST in loc de LIKE.  :peacefingers:

#3
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
functioneaza...ms:*
..dupa sugerarea ta, am studiat putin MATCH AGAINST ... deocamdata ma limitez la tipul query-ului meu...
as mai dori sa aflu insa..inca ceva... daca stiti vreo functie care ia un anumit numar de caractere dintr-o variabila... as dori ca pe langa link-urile afisate, undeva sub link, sa apara un rezumat ceva...acolo din fiecare rezultat afisat...

#4
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
vezi functia substr din php (sunt si exemple):

substr()

#5
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
ok... am incercat codul asta la afsare:
echo "<img src='triangle.gif'> <a href=\"afisare_business.php?id=".$rand['id']."\">".stripslashes($rand['titlu_continut'])."</a><BR>";
							 
							echo substr(stripslashes($rand['continut']),0,250)."<BR>";
...si nu-mi afiseaza decat titlurile-link-uri...am omis ceva?

#6
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
daca dai

echo $rand['continut'];

iti afiseaza continutul?

#7
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
a mers in final:
echo substr(stripslashes($rand['continut']),0,250)
...apreciez wrath...

#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

Quote

...salut chip forum.
:nonobad:

#9
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
..da...mi-a scapat... oricum daca te face sa te simti mai bine, voi ati fost cei mai prompti de fiecare data si de cele mai multe ori pe softpedia forum mi-am rezolvat problemele... imi cer scuze pt acea introducere si apreciez ca mi-am primit solutii la topicul asta;)

#10
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
off...acum am aceeasi problema, cu acelasi cod sugerat de wrath...si primesc aceeasi eroare:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in site/rezultate_search.php on line 326
ce am facut? am mai adaugat o categorie la search in care cautarea sa se poata efectua in TOATE CATEGORIILE...
si-am dat un :
$query="select * from actualitate, business, cultura, international, monden, politica, social, sport where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%'";

... imi mai bat eu putin capul pe acolo... query-ul nu se poate efectua pentru mai multe tabele?

Edited by soscopyrights, 23 January 2007 - 21:54.


#11
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
am mai incercat si:
$query="SELECT * FROM actualitate, business, cultura, international, monden, politica, social, sport WHERE MATCH (titlu_continut) AGAINST ('".$searchterm."')";
		$result=mysql_query($query);
			
		$num_results=mysql_num_rows($result);
		echo "<p>Numar rezultate: ".$num_results."</p>";
		for($i=0;$i<$num_results;$i++)
dar aceeasi eroare la $num_results=mysql_num_rows($result);

#12
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
...pls? am dat un echo mysql_error() si am primit 'titlu_continut' coloumn is ambiguous ...
de ce imi zice asta? sintaxa e corecta..am mai incercat si cu select din nou...aceeasi eroare...nu imi mai zice nimeni vreo alternativa?

#13
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
nu merge asa, trebuie sa folosesti UNION intre tabele. poti uni tabelele mai intai si pe urma sa faci cautarea sau poti face cautarea in fiecare tabela si sa unesti rezultatele.

#14
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
foarte bine mi-a prins unionul..si f usor de folosit..multam inca o data warth...
$query="(select * from actualitate where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from business where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from cultura where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from international where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from monden where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from politica where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from social where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%') union (select * from sport where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%')";

...dar mai am o problema... si cred ca asta e ultima din search-ul asta... afisarea mea pt o categorie selectata din formularul search, era urmatoarea (de ex pentru actualitate):
echo " <a href=\"afisare_actualitate.php?id=".$rand['id']."\">".stripslashes($rand['titlu_continut'])."</a><BR>";
  dar... daca se cauta in TOATE CATEGORIILE cum pot face ca HREF-ul sa se duca pe categoria din care provine stirea (link-ul)?
aseara... am stat pan' la 1:30 sa vad daca-mi raspunde cineva...:P sper sa ma poti ajuta din nou wrath....

#15
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
se poate face, dar am o curiozitate: de ce nu unesti tabele cu stiri (mai ales ca au aceeasi structura din cate am inteles) intr-o singura tabela 'stiri' la care mai adaugi o coloana 'categorie'. parerea mea e ca ti-ar usura munca enorm. e vreun motiv pentru care le tii in tabele separate?

Edited by wrath_d1, 24 January 2007 - 16:42.


#16
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
poi man...hai sa ma explic putin ... sunt a 11-a, mate-info...
php am vrut sa invat cat de cat de mult. mi-am cumparat carti, imprumutat carti de la biblioteca..unele mi-au fost de ajuns, altele au fost o irosire...
ideea e ca...un prieten si-a cumparat domeniu si host pe un an. a vrut sa fie un sitede stiri. ce facea? pentru fiecare stire pe care o punea pe site trebuia sa faca o pagina .html noua si sa uploadeze...a zis ca-i lua prea mult timp si ca sa faca asta in fiecare zi, era obositor. atunci am intervenit eu. am zis ca daca-l ajut, prin site-ul asta castig si eu ceva experienta.
de prin carti, din tutorialul lui oriceon am reusit sa fac un cpanel pt prietenul meu in care se logheaza, posteaza stiri, le modifica, creaza poll-uri...
iar daca toate astea pentru mine sunt noi, probabil de-aia m-am complicat, n-am stiut ce e mai avantajos, n-am stiut ce ar trebui optimizat etc... eu am avut in cap cum vreau sa fac si-am zis sa fac...
pe langa search-ul asta, trebuie sa ii mai fac o sectiune in cpanel in care isi poate edita singur spatiul pentru reclama de pe site... si am terminat.
nuj...poate si acum vb prea mult...chestia e ca php/mysql ma fascineaza insa imi cere prea mult timp, iar eu la info desi's cel mai bun din clasa, nu e de ajuns... c++... sunt singurul din clasa care dau la informatica la bac, stii...si-am zis ca finalizez chestiile astea cu php/mysql cat de cat...si ma orientez pe c++ apoi..pt bac...
topicul asta a fost mai grabit pentru ca prietenul asta se tine de treaba..ma mai intreaba ce-am mai facut... si oricum, ce ii fac nu-i fac degeaba, imi iese mie ceva acolo... si mai ziceam ca aseara ma uitam pe la 1:30 sa vad daca mi-a raspuns cineva...eu ajung aacasa pe la o ora tarzie...plec la prieteni...care au probleme cu compu'...eh...nimicuri...
...probabil chiar am vb prea mult...si sper ca n-am lasat impresie proasta...
ma gandeam sa fac ceva cu $_GET ... da' aveam ceva vag in cap, pentru HREF-ul ala... si...imi poti spune tu daca tot ai idee, cum procedez?

#17
soscopyrights

soscopyrights

    Junior Member

  • Grup: Members
  • Posts: 139
  • Înscris: 30.08.2005
....nimeni?
am inteles ca ar fi mai normal sa fac query0ul:
SELECT 'ACTUALITATE' AS `tabela`,`id`,`titlu`, ... WHERE ... 
UNION ALL 
SELECT 'CULTURA' AS `tabela`,`id`,`titlu`, ... WHERE...
ca HREF-ul sa fie afisat corespunzator pt ca as avea $rand['tabela']
dar...am incercat ceva de genul ...
$query="SELECT 'actualitate' AS `tabela`,`id`,`titlu_continut`,`continut` WHERE where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%'  
UNION ALL 
SELECT 'business' AS `tabela`,`id`,`titlu_continut`,`continut` WHERE  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%'";
...si am primit a big error.... nu mai inteleg nimic....

#18
wrath_d1

wrath_d1

    Member

  • Grup: Members
  • Posts: 303
  • Înscris: 04.07.2004
sorry ca raspund asa tarziu dar am avut probleme, mi-a murit un server ....

pe scurt poti face ceva de genul pentru o tabela:


select titlu_continut,continut,id as res_id,'afisare_actualitate' as link from actualitate where  continut like '%".$searchterm."%' OR titlu_continut like '%".$searchterm."%'

si astfel vei avea in $rand[res_id] id-ul stirii si in $rand[link] denumriea fisierului php.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate