ugrás a tartalomhoz

MySQL kereső ...

mpdt · 2007. Jún. 29. (P), 11.20
Sziasztok !

Csináltam egy olyan programot ami felvesz MySQL táblába neveket . A tábla neve teljes_nevek . Eddig 5 név van fenn . Sajnos nekem a világért sem sikerül megcsinálnom hozzá a keresőt :S 100000-szer próbáltam hozzá csinálni de vagy hibát írt ki vagy semmit . Kérem aki tud segítsen nekem ... Előrre is THX..
 
1

Valami hiba

janoszen · 2007. Jún. 29. (P), 11.36
Hogy gondolod, hogy segítsünk eg yilyen kérésben? Csináltál egy valamilyen programot ami valamilyen MySQL verziójú szerveren valamilyen táblákat fölvesz és valamilyen hibát kiír. Szerinted, erre mit lehet válaszolni?

Keresést úgy lehet csinálni hogy valamilyen kritériumokat teszel a where részbe. Olvasd el a doksit, le van írva pontosan, mit lehet.
2

..

mpdt · 2007. Jún. 29. (P), 11.45
Bocsi , tehát van egy progi ... Ezt írtam meg :

<?PHP

$_MYSQL['HOST'] = "127.0.0.1"; // MySQL host
$_MYSQL['USER'] = "root"; // MySQL felhasználónév
$_MYSQL['PASSWORD'] = " "; // MySQL jelszó
$_MYSQL['DB'] = "kereso"; // MySQL adatbázis
 
$_CONF['TABLA'] = "kereso"; // Amelyik táblában akarunk keresni 
$_CONF['MEZO'] = "teljes_nev"; // Abba egy bizonyos mező amelyben keresünk
 
mysql_connect( $_MYSQL['HOST'], $_MYSQL['USER'], $_MYSQL['PASSWORD'] ); 
mysql_select_db( $_MYSQL['DB'] ); 
 
if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text'])) {
print'
<form method="GET" action="keres.php">
<input type="text" name="teljes_nev" size="25">
<input type="Submit" value="Keresés">
</form>';
} else {
$search_text = mysql_escape_string($_REQUEST['search_text']);
 
$eredmeny = mysql_query("SELECT * FROM ".$_CONF['TABLA']." WHERE ".$_CONF['MEZO']." LIKE '%$search_text%'");
 
while($sor = mysql_fetch_object($eredmeny))
{ 
 
$cim = $sor->cim;
$uzenet = $sor->uzenet;
$datum = $sor->datum;
$id = $sor->id;
 
echo "".$id.". ".$cim."<hr>".$uzenet."<hr>".$datum."";
}
 
}
?>
És ez sajnos nem működik . Van egy kereso nevű tábla azon belül egy teljes_nev mező . Ezt hogyan lehetne megoldani ,hogy keressen a teljes_nev mezőben vagy táblában . Vagy ha tudsz mondani egy jó linket az jó lenne :D thx
3

változó érték hiba

zila · 2007. Jún. 29. (P), 12.32
Azt írod a tábla neve - amiben keresnél - teljes_nevek. Ezzel szemben a $_CONF['TABLA'] = 'kereso' (ez éppenséggel az adatbázisod neve, $_MYSQL['DB'] = "kereso";)

Szerintem a $_CONF['TABLA'] = 'teljes_nevek' látványos javulást fog hozni. Ahogy a hibaüzenet is sokat segített volna, ha beidézed a kérdésedbe...
4

hm..

mpdt · 2007. Jún. 29. (P), 12.38
Hm.

Sajnos nem csinál semmit :S

Ezzel kellene csinálni vmit nem ?

$cim = $sor->cim;
$uzenet = $sor->uzenet;
$datum = $sor->datum;
$id = $sor->id;
 
echo "".$id.". ".$cim."<hr>".$uzenet."<hr>".$datum."";

Csak aszt nem toom mit :S
5

hajajj...

zila · 2007. Jún. 29. (P), 13.51
Biztos te írtad ezt a kódot?
És mi lenne, ha végre egy hibaüzenetet is írnál ide?!

<?PHP

$_MYSQL['HOST'] = "127.0.0.1"; // MySQL host
$_MYSQL['USER'] = "root"; // MySQL felhasználónév
$_MYSQL['PASSWORD'] = " "; // MySQL jelszó
$_MYSQL['DB'] = "kereso"; // MySQL adatbázis


// ITT MÓDOSÍTOTTAM 

$_CONF['TABLA'] = "teljes_nevek"; // Amelyik táblában akarunk keresni 

// ITT MÓDOSÍTOTTAM 


$_CONF['MEZO'] = "teljes_nev"; // Abba egy bizonyos mező amelyben keresünk
 
mysql_connect( $_MYSQL['HOST'], $_MYSQL['USER'], $_MYSQL['PASSWORD'] ); 
mysql_select_db( $_MYSQL['DB'] ); 
 
if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text'])) {
print'
<form method="GET" action="keres.php">
<input type="text" name="teljes_nev" size="25">
<input type="Submit" value="Keresés">
</form>';
} else {
$search_text = mysql_escape_string($_REQUEST['search_text']);
 
$eredmeny = mysql_query("SELECT * FROM ".$_CONF['TABLA']." WHERE ".$_CONF['MEZO']." LIKE '%$search_text%'");
 
while($sor = mysql_fetch_object($eredmeny))
{ 
 
$cim = $sor->cim;
$uzenet = $sor->uzenet;
$datum = $sor->datum;
$id = $sor->id;
 
echo "".$id.". ".$cim."<hr>".$uzenet."<hr>".$datum."";
}
 
}
?>
6

csak most látom

zila · 2007. Jún. 29. (P), 14.22
Biztos, hogy egy szóköz a jelszó?

<?php
$_MYSQL['PASSWORD'] = " "; // MySQL jelszó
?>
vagy nincs jelszó,de akkor

<?php
$_MYSQL['PASSWORD'] = ""; // MySQL jelszó
?>
13

...

mpdt · 2007. Jún. 30. (Szo), 11.46
Dehogy , csak kiszedtem a biztonság kedvéért ....
16

Ha figyeltél volna!

Magician · 2008. Ápr. 12. (Szo), 09.35
Ez a sor nem jó!
if(!IsSet($_REQUEST['search_text']) || emptyempty($_REQUEST['search_text']))
{ print'

ha így írod akkor tökéletes a keresőd:

if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text']))
{ print'

Egy ostoba elírás, de így jár aki csak másol és nem néz...

Jó szórakozást a keresőhöz!
18

én se...

Magician · 2008. Ápr. 14. (H), 12.21
Az IsSet-et se így kell írni, hanem így : isset !!!

Sziasztok
7

Kicsit zavaros...

Marcell · 2007. Jún. 29. (P), 15.06
Idézlek:
A tábla neve teljes_nevek...
Nem sokkal ezután:
Van egy kereso nevű tábla azon belül egy teljes_nev mező.
Első körben érdemes tisztázni, hogy most akkor mi is a tábla neve és mi is az oszlop neve. Amíg ezt nem tudod egyértelműen megmondani, nem tudunk segíteni.
8

Hátt ...

mpdt · 2007. Jún. 29. (P), 15.36
Nem én csináltam de találtam egy jót ami működik .. Azért köszönöm a segítséget :)
9

Óvatosan

zila · 2007. Jún. 29. (P), 18.43
Ha programozni szeretnél megtanulni, akkor javaslom próbáld megérteni a kódot amit használsz, ne csak ész nélkül másolj...
10

...

mpdt · 2007. Jún. 29. (P), 22.49
ok , a PHP4 24 óra alatt című könyv az jó erre ?
11

Megérteni

janoszen · 2007. Jún. 30. (Szo), 05.19
Ha nem próbálod meg megérteni a kódot, ha nem tudod megfogalmazni a feladatot a logika nyelvén, akkor semmilyen könyv nem segít rajtad. Először tervezni aztán kódolni. Egyébként javaslom, hogy inkább PHP5-öt kezdj el tanulni ha már, bár az alapokat valószínűleg meg tudod tanulni. A könyvet nem ismerem.
12

Hm , logikailag ennyi lenne :

mpdt · 2007. Jún. 30. (Szo), 11.40
A haverjaimmal 3-an egy tagsági oldalt építünk . ( Ez gonodlom elárúlja ,hogy miért kell a kereső :D )

Tehát van egy tagsági oldalunk a neve CenterPoint . ( Ha kell a valakinek a cím és szivesen segítene nekünk akkor várom a jelentkezését a mapdesign##kukac##citromail.hu-ra :) , msn : mapdesign11##kukac##hotmail.com ... )

A kereső-nek a lényege az lenne ,hogy az keressen a tagok közül . A tagok adatai MySQL-be rögzítjük . Addig sikeresen eljutottunk ,hogy a regisztrált tagokat lekérdezzük a MySQL-től ,hogy kiírja a "profil kártyákat" . Tehát a kereső azért kéne , mert nem tudtuk rendesen megoldani a keresőt és most még nincs gond hisz 12-en vagyunk de ha elérjük a 500-600-as számot akkor viszont már gondok lesznek . Jelenleg a következők működnek nállunk megfelelően : regisztráció , bejelentkezés , Privát Levelezés , Admin terület ... Az admin területen még csak a kezdőlap tartalmát lehet módosítani . Hamarosan csak Meghívóval lehet majd regisztrálni .

Privát levelezés :
- Hát ez úgy néz ki ,hogy van 4 lehetőség választani a köv. közül : Bejövő levelek , Kimenő levelek , Rendszer üzenetek , Új üzenet írása . Az üzenet írásnál alkalmazva van a TinyMCE wysiwyg editor . Az editorban az új üzi írásánál csak szöveg formázást engedtem . A PM rendszer rendesen működik :D Csak még nem oldottuk meg a törlést de meglesz vasárnap :) ( 2007.07.01 -én ) . Ezt most csak leírtam nem hinném hogy köze van a kereséshez :))

Ismerős rendszer :
- Nos ez a rendszer kevésbé működik megfelelően :S De lehet ismerősöket felvenni ...

Tehát kereső ... Sikerült megoldanunk majdnem a kereső problémát csak az a bibi, hogy ha beírunk egy helyes nevet ami regizve van akkor megis találja és kiírja a találtatok számát helyesen csak a listázással vannak gondok . Ha helyes nevet írok be akkor mindenkit kilistáz és ha rosszat kiírja ,hogy nincs találat .. :S

Nagyon kéne a segítség .. pls .. ( Akinek van egy kis ideje ránk az kérem segítsen nekünk ) Az msn címem : mapdesign11##kukac##hotmail.com .. Előrre is nagyon köszönjük minden kedves fórum olvasónak :)

( Három éve foglalkozok a PHP-val akkor ezek szerint visszavonulhatok és kezdhetem előrről :S ) Egyébként én 14 éves vagyok a haverjaim 15 ..
14

Nagy falat...

janoszen · 2007. Jún. 30. (Szo), 11.52
Őszintén szólva, ez nagy falat. Még nekem is és elég sok mindenki másnak is elég nagy munka lenne megcsinálni úgy hogy minden ismerete megvan.

Amit terveztek rendszert, rendes adatbázis-normalizálást és tervezést igényel, távoli kulcsokkal meg mindennel megfűszerezve.

Elméletben lefuttatva úgy néz ki, hogy az azonosítási adatokat (usernév:jelszó hash-e) egy tábla, tulajdonságok kapcsolt tábla CASCADE törléssel, üzenetek kapcsolt tábla NULL törléssel, ismeretségek kapcsolt tábla két ember között unique kulcsokkal és CASCADE törléssel.

Ez nem PHP-s kérdés, mert lehet hogy PHP-ben jó vagy, ez adatbázis-tervezés. Ha nagyon nem boldogultok vele, akkor keressetek meg magánban némi adatbázis tervezés know-how-ért.
15

Edd..

mpdt · 2007. Jún. 30. (Szo), 12.14
Eddig Java(nem ismerem még) , PHP(Közepes) , MySQL(Közepes) , Flash(profi) programózónk van ..

Proclub ,ha szivesen szeretnél segíteni nekünk és van egy kis idő reánk akkor örömmel látunk a csapatban égyébként is szivesen látnánk a csapatban ;) Éppen a profil-os cuccot írom ... >>Nyár közepén várhatólag lesz magán szerverünk is . :D Telleg nem vicc ... Dobj egy mailt ide mapdesign##kukac##citromail.hu és akkor elküldöm a linket ... ( Ha nem szeretnél belépni a csapatba akkor szólj )

Magánba , hm nem nagyon értelek ... A weblaboron van magán .. nah majd szétnézek :D
17

Ötlet

janoszen · 2008. Ápr. 12. (Szo), 10.14
Két alapvető lehetőség van. Az egyik (rosszabb), hogy futtatsz egy spidert és ezzel leindexeled a történetet. A másik, hogy a tartalmakban keresel, ez a nehezebb, ugyanis a tartalmaidat egy egységes formába kell hoznod valamilyen úton-módon, tehát pl a szövegeket nem árt egy táblában elhelyezni vagy legalábbis view-t csinálni rá.

Ami a csapatot illeti, nem nagyon van most szabadidőm foglalkozni bármivel, úgyhogy ez nem igazán játszik. Ami meg a szervert illeti... olyanom nekem is van és most készülök berendezni nyilvános hosting szolgáltatást úgyhogy emiatt is nincs időm. :)

Egyébként nem akarok leszólni senkit, de a fenti kódból itélve a PHP közepes az erőteljes túlzás. Az SQL escapelés teljesen alap dolog és hiányzik belőle.