- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple MacBook
- Milyen notebookot vegyek?
- OLED TV topic
- Melyik tápegységet vegyem?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen TV-t vegyek?
- Vezeték nélküli fülhallgatók
- TV antenna és jelerősítés
Aktív témák
-
Speeedfire
félisten
válasz
Speeedfire #1816 üzenetére
-
Briganti
tag
válasz
Speeedfire #1804 üzenetére
Olvastam de mar nem emlekszem hogy a nagy meret a feltoltesnel volt gond, vagy az importalasnal, de egy megoldas lehet az is, hogy leszeded az adatbazist, feltoltod egyben es a BigDump nevu script segitsegevel importalod
-
zka67
őstag
válasz
Speeedfire #1802 üzenetére
phpMyAdmin nincs rajta? Azzal le tudod menteni egybe az egészet.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #1752 üzenetére
cucka nyilván arra céloz, hogy az elegáns megoldás az, ha a nyers szöveges változatban keresel (igazából pont ezt mondta), nem a HTML-tagekkel teli szövegben - mondok egy nem is annyira elrugaszkodott példát:
tegyük fel, hogy a ckeditor szerkesztője egy adott stílusú szöveget úgy formáz, hogy hozzáteszi a "text" nevű osztályt - pl. beírod a szövegedet (legyen az, hogy 'blabla'), majd megformázod ckeditorral, és tételezzük fel, hogy így fog kinézni eredményként a ckeditor HTML-kódja:
<p class="text">blabla</p>Mit csinálsz akkor, ha valaki rákeres éppen a "text" szóra? A keresőd az adatbázisban megtalálja ezt a karaktersorozatot, még ha az csak a HTML-tagek között is van, és a felhasználó csak néz, hogy miért is jött ki ez a találat, amikor ott csak a 'blabla' karaktersorozat van...
Remélem így már világos, miért okozhat ez problémát. -
cucka
addikt
válasz
Speeedfire #1750 üzenetére
Azért, mert a ckeditor által küldött szövegben vannak html tag-ek is a szöveg közé ékelve (akár egy szavon belül is). Általában a like-os keresés is működik, de ha normálisan szeretnéd megcsinálni, akkor az általam vázolt megoldás jobb.
-
cucka
addikt
válasz
Speeedfire #1748 üzenetére
1. A ckeditor-t be tudod úgy állítani, hogy ne alakítsa át. Nézd meg a doksiját, rengeteg beállítási lehetősége van.
2. A keresett szöveget is átalakítot html kóddá és úgy keresel. Gondolom valamilyen php alkalmazásba szeretnél beilleszteni egy keresőt, ez esetben a htmlentities() függvényt használhatod.Amúgy a keresés már csak azért sem fog így működni, mert a ckeditor a szöveg mellett más html elemeket is eltárol. Kereséshez érdemes eltárolni minden cikkről a nyers szöveges változatot (tehát html tag-ek nélkül) és abban keresni. Ehhez a strip_tags() nevű php függvény tökéletes.
-
rt06
veterán
válasz
Speeedfire #1746 üzenetére
az a gond, hogy ha nem adod meg, mi alapjan kapcsolja ossze a tablakat, akkor (ha jol remlik, egy descartes szorzatot kapsz (minden sort osszekapcsol minden sorral)
ket modon lehet ezen segiteni (a join-oknal es a felteteleknel hasznalt mezonevek csak talalgatasok, oda ertelemszeruen helyettesitsd be a kivant mezok neveit):
SELECT
szapar_tartalom.id, szapar_tartalom.cim, szapar_tartalom.tipus,
szapar_tartalom.fid, szapar_tartalom.szoveg, szapar_tartalom.rovid,
szapar_tartalom.datum, szapar_alias.eng, szapar_tipus.nev, szapar_felhasznalo.fnev
FROM `szapar_tartalom`
INNER JOIN szapar_alias ON szapar_alias.tartalom_id = szapar_tartalom.id
INNER JOIN szapar_tipus ON szapar_tipus.id = szapar.tipus_id
INNER JOIN szapar_felhasznalo ON szapar_felhasznalo.id = szapar_tartalom.felhasznalo_id
WHERE ...vagy
SELECT
szapar_tartalom.id, szapar_tartalom.cim, szapar_tartalom.tipus,
szapar_tartalom.fid, szapar_tartalom.szoveg, szapar_tartalom.rovid,
szapar_tartalom.datum, szapar_alias.eng, szapar_tipus.nev, szapar_felhasznalo.fnev
FROM `szapar_tartalom`, szapar_alias, szapar_tipus, szapar_felhasznalo
WHERE szapar_alias.tartalom_id = szapar_tartalom.id
AND szapar_tipus.id = szapar.tipus_id
AND szapar_felhasznalo.id = szapar_tartalom.felhasznalo_id
... -
Speeedfire
félisten
válasz
Speeedfire #1745 üzenetére
lehet én értek valamit rosszul, de úgy olvasom h a join művelet csak tábláknál használható
nálam a tábla ugyan az, csak más mező van megadva
szóval a where mezőnél lenne érdekes a dolog, a szoveg, cim és rovi mezőknél
ha valamit rosszul értelmeztem akkor elnézést -
zka67
őstag
válasz
Speeedfire #1743 üzenetére
Igen, INNER JOIN-al.
-
ArchElf
addikt
válasz
Speeedfire #1714 üzenetére
Ha nem megy az on duplicate, akkor:
- először "select id", hogy megnézd, van e már feltöltve ezzel a névvel, akármivel
- ha van a selectnek visszatérési érték, akkor UPDATE, ha nincs, akkor INSERT
Nem értem miért kell cifrázni...AE
-
ArchElf
addikt
válasz
Speeedfire #1712 üzenetére
Akkor mit is szeretnél pontosan csinálni?
Amúgy INSERT esetén nem kell ID-t megadni, ha AUTO-INCREMENT a mező:
egy táblában, ahol a mezők: tabla [id, a, b, c]
elég egy: INSERT INTO tabla (a, b, c) VALUES ($a, $b, $c). AZ ID-t automatikusan legyártja az adatbázis motor.
Insert or update megoldás pszeudo kóddal:
select$ = mysql_query("SELECT id FROM tabla WHERE a = $a")
if (num_rows(select$) != 0)
mysql_query("UPDATE tabla SET a=a$, b=b$, c=c$ WHERE id = ".select$['id'])
else
mysql_query("INSERT INTO tabla (a,b,c) VALUES (a$, b$, c$)")AE
-
ArchElf
addikt
válasz
Speeedfire #1710 üzenetére
Nem ártana, ha az INSERT a while ciklusban lenne
AE
-
ArchElf
addikt
válasz
Speeedfire #1708 üzenetére
Talán azért, mert ez csak akkor megy bele, ha a $kereses változó 0...
while ( $kereses == 0 ) {
helyett
while ( $i<$kereses ) {
kellene. A többi részébe nem néztem bele (fel is kellene dolgozni a fetchelt adatokat).AE
-
ArchElf
addikt
válasz
Speeedfire #1706 üzenetére
insert into tabla (a,b,c)
values ('blabla','ez','11' )
on duplicate key update id=LAST_INSERT_ID(id), b= b-0
Ezt miért tetted bele? Update esetében a LAST_INSERT_ID()-nak nincs sok értelme (mondjuk ebben a példában az egész update-nak nincs semmi értelme)AE
-
PazsitZ
addikt
válasz
Speeedfire #1704 üzenetére
Nem néztem csak a regisztrációig és ott pont nincs, de loginnál látom van.
mysql csak akkor menti úgy, ha úgy írod az sql-t vagy már php-ban alakítod md5-re, de ez a példában is látható.
-
j0k3r!
őstag
válasz
Speeedfire #1699 üzenetére
koszonom, megnezem.
-
gabipaci
őstag
válasz
Speeedfire #1695 üzenetére
De én versenyparipa vagyok, nem szekérhúzó
-
ntomka
nagyúr
válasz
Speeedfire #1683 üzenetére
A `elfogadva` = '1' után nem kell vessző....
-
Sk8erPeter
nagyúr
válasz
Speeedfire #1668 üzenetére
Nincs mit!
-
Sk8erPeter
nagyúr
válasz
Speeedfire #1666 üzenetére
Ezek szerint félreérted.
Van egy lekérdezésed, amit lefuttatsz a MySQL-ben. Annak az eredménye az adattábládnak valahány (esetleg 0 vagy egyetlen vagy több) sora. A sorban ugye vannak oszlopok, nálad jelen esetben többek közt az 'id' és a 'sorszam' nevű mezők.
Ha végrehajtod a lekérdezést, és egyetlen sort ad eredményül, akkor 1 eredménye van a lekérdezésednek, épp az az 1 sor. Ha több, akkor már nem jó a kódod, mert akkor minden cikluslépésnél felülírogatja a korábbi $katid és $fid változókat. Kérdés, mi a célod és mi a kívánt eredmény.Gondolom a lekérdezésednek egyetlen eredménye van, tehát
a következő HELYETT:
while($row2 = mysql_fetch_assoc($tabla)) {
$fid = $row2['id'];
$katid = $row2['sorszam'];
}legyen inkább ez:
$row2 = mysql_fetch_assoc($tabla);
$fid = $row2['id'];
$katid = $row2['sorszam']; -
Sk8erPeter
nagyúr
válasz
Speeedfire #1664 üzenetére
Én ebben csak azt nem értem (nem olvastam vissza, de ettől függetlenül), hogy mi értelme van while ciklussal végigmenni a lekérdezés eredményén, és minden egyes cikluslépésben felülírogatni az $fid és $katid változókat, amit aztán később felhasználsz... Ha több, a lekérdezés eredményének megfelelő sor is van a táblában, akkor így nem tudod, hogy épp melyik azonosítókat érted el - ha meg csak egyetlen ilyen megfelelő sornak szabad lennie, akkor minek a while?
-
Speeedfire
félisten
válasz
Speeedfire #1663 üzenetére
végülis így oldottam meg, lehet h van egyszerűbb megoldás is, de ezt tudtam csak kihozni:
$tabla = mysql_query("SELECT users.id, kategoria.sorszam
FROM users, kategoria
WHERE ((users.nick = '".$_SESSION['nick']."') and (kategoria.kat = '".$_POST['kategoria']."'))");
while($row2 = mysql_fetch_assoc($tabla)) {
$fid = $row2['id'];
$katid = $row2['sorszam'];
}
$sql="INSERT INTO tartalom (fid,szoveg,katid,url,webcim)
VALUES ('".$fid."', '".$_POST['szoveg']."', '".$katid."' , '".$_POST['url']."' , '".$_POST['webcim']."')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
} -
Speeedfire
félisten
válasz
Speeedfire #1662 üzenetére
alakul
"INSERT INTO tartalom (fid,szoveg,katid,url,webcim)
SELECT 'users'.'id', 'kategoria'.'sorszam'
FROM users, kategoria
WHERE ((('".$_SESSION['nick']."')=users.nick) and (kategoria.kat='".$_POST['kategoria']."'))
VALUES (`users.id`, `".$_POST['szoveg']."`, 'kategoria'.'sorszam' , '".$_POST['url']."' , `".$_POST['webcim']."`)" -
zka67
őstag
válasz
Speeedfire #1659 üzenetére
A SELECT-ben sem kell
Meg az ORDER BY-nál sem.
-
Speeedfire
félisten
válasz
Speeedfire #1658 üzenetére
jól van megoldottam
a WHERE-nél nem kellett volna az aposztróf
helyesen:
SELECT `kategoria`.`kat`, `tartalom`.`szoveg`, `tartalom`.`datum`, `tartalom`.`url`, `tartalom`.`webcim`, `users`.`nick`
FROM kategoria, tartalom, users
WHERE ((kategoria.sorszam = tartalom.katid) AND (users.id = tartalom.fid))
ORDER BY `tartalom`.`sorszam` ASC
Aktív témák
Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Apple MacBook
- Samsung Galaxy Watch7 - kötelező kör
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Fűzzük össze a szavakat :)
- Hivatalos a OnePlus 13 startdátuma
- Spórolós topik
- Motorola Moto Tag - nyomom, követ
- További aktív témák...
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- TELJES KÖRŰ IT BESZERZÉS
- 15db töltő egybe (65W + 90W) kerek végűek (ELKELT)
- Új Apple iPhone 16e 128GB, Kártyafüggetlen, 3 Év Garanciával
- LG 27GR95QL - 27" OLED / Limitált LoL Edition / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest