WebPillangó főoldal
Oldalak: 1 ... 18 19 [20] 21 22 ... 28   Le
  Nyomtatás  
Szerző Téma: PHP  (Megtekintve 62836 alkalommal)
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #380 Dátum: 2009. 11. 27. - 16:11:57 »

Hogy lehetne a mysl adatbázisból véletlen szerűen megjeleníteni egy szöveget?
Előre is köszönöm!

//Szerk.
Megtaláltam a megoldást.
Kód:
SELECT "mezo" FROM "tablad_neve" ORDER BY RAND() LIMIT 1;
« Utoljára szerkesztve: 2009. 11. 27. - 16:42:22 írta kovger » Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #381 Dátum: 2009. 11. 27. - 22:45:57 »

Ez mukodik de nagyon lassu tud lenni, ha nagy a tabla. Erdemesebb kiszedni a sorok szamat, majd PHPval generalni egy szamot 1 es a sorok szama kozt. Majd a lekereset valami hasonloan vegezni:
Kód:
select mezo from tabla limit szam, 1
Igy elered, hogy kihozza veletlenszeruen a szam-adik sort.
Naplózva
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #382 Dátum: 2009. 12. 21. - 17:05:02 »

Hogyan lehetne azt megoldani, hogy csak az aktivált hírek jelenjenek meg az oldalon.
Azt már megoldottam hogy a látogatók küldhessenek híreket, meg hogy aktiválatlanul küldje, de hogyan lehetne egy kattintással aktiválni?
Előre is köszönöm a segítségeteket! Kacsint
Naplózva
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #383 Dátum: 2009. 12. 22. - 15:43:44 »

Sikerült megoldani a problémámat!
Példa a hírek szelektálására:
Kód:
(SELECT * FROM tablad_neve WHERE `allapot` = 'aktiv' ORDER BY id DESC LIMIT 9)

Várakozó hírek listázása (varakozo.php)
Kód:
$kategoriak = mysql_query("select * from tablad_neve WHERE `allapot` = 'inaktiv' ORDER BY id DESC");
while($r=mysql_fetch_array($kategoriak)){
extract($r);
echo("<b>$cim</b><br>");
echo("<a href='aktival.php?id=$id'><b>Aktivál</b></a><p>");
echo("".nl2br($szoveg)."<hr>");

}

Hír aktiválása (aktival.php)
Kód:
$id = $_GET['id'];

$kuld =mysql_query("UPDATE `tablad_neve` SET `allapot` = 'aktiv' WHERE `id` ='".$_GET['id']."' LIMIT 1");

//siker...
echo("Hír aktiválva! <br><a href='varakozo.php'><< További hírek aktiválása.</a>");
« Utoljára szerkesztve: 2009. 12. 22. - 16:42:16 írta kovger » Naplózva
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #384 Dátum: 2009. 12. 22. - 20:17:00 »

Lehet, hogy rossz helyre írom, de hogyany lehetne azt megcsinálni, hogy csak akkor mentse formból az adatokat (mysql-ben), hogyha minden mező kivan töltve.
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #385 Dátum: 2009. 12. 26. - 12:11:51 »

Az elozo kerdessel kapcsolatban, nem a legjobb, ha string-nek mented, hogy "aktiv", "inaktiv" ... egy szam kissebb helyet foglal es gyorssabban kiolvashato, pl. 0 - inaktiv, 1 - aktiv.
Azt, hogy csak teljesen kitoltott formot ments adatbazisba egyszeruen megoldhatod: ellenorizd, hogy minden ki legyen toltve, pl.

Kód:
$beirAzAdatbazisba = true;

$mezo = $_POST['mezo'];

if ( strlen($mezo) == 0 ) {
  // hiba kiiras
  $beirAzAdatbazisba = false;
}

if ( $beirAzAdatbazisba ) {
  // beirod az adatokat az adatbazisba
}
Naplózva
noon11
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 1


« Válasz #386 Dátum: 2009. 12. 27. - 23:01:41 »

sziaztok!

van egy sms-es szolgáltatásom stb... az user rendel, kitölti az ürlapot és az ürlap elmenti sql-ba az adatokat és generál is neki egy kódot amit lekel küldeni e sms-ben ( ezt is elmenti sql) aztán, az allapot mezőbe 1-est rak ami azt jelenti, hogy megrendelt. Az admin felületen az alábbi 3 részre van bontva: aktívak, megrendeltek, bejövő edsms-ek. Nos, amikor bejön egy rendelés és elküldte az sms-t a bejövő sms-ektől kitörlőm majd a megrendeltek állapotból a pipa gombbal átdobom az állapotát sql-ban 2-esre és ugy ott lesz az aktivaknál... de mostanság rendegeteg rendelés jön és egy rendelésnél összevissza kell nyomogatnom + emailt küldenem az adatokról stb,,, amit szeretnék; megrendeli, a sql elmenti az user adatait az ürlapoból és a kódját is elmenti. Majd amikor elküldte az sms-t ( az sms a generált kódot tartalmazza) a megrendelt (1) állapotból átdobná a kifizetett (3) állapotba, és amikor már aktív az user rendelt dolgja stb akkor a gombbal átdobom az aktív (2) állapotba. az a lényge az egésznek és amit kérek: A RENDELÉSNÉL A KÓDOT IS ELMENTI, ÉS AZT A KÓDOT KÜLDI SMS-BEN. A RENDELÉSNÉL AZ 1-ES ÁLLAPOTBA MENTI AZ ADATOKAT (MEGRENDELT) MAJD AMINT ELKÜLDE AZ SMS-T A RENDSZER AUTOMATIKUSAN ÁTRAKNÁ A ÁLLAPOTÁT 3-RA (KIFIZETETT) ÉS AZT, HOGY MIT KÉNE ÁTRAKNIA A 3-RA AZT A KÓD ALAPJÁN TUDNÁ.

Nagyn fontos lenne!

Köszi!
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #387 Dátum: 2009. 12. 29. - 11:03:31 »

Szia!

Valamit nagyon elneztel, ha azt szeretned, hogy valaki kesz koddal szolgaljon. A masik dolog, hogy irj ertelmesen, taglald es tedd koherensse a szoveged. A csupa nagy betu meg rondan elut a tobbi szovegtol, kerlek NE KIABALJ a forumon Kacsint
Per pillanat azt ertem a leirakbol, hogy a rendszer mukodik es kersz ra egy megoldast?! Talan az a gond, hogy mukodik, csak az egesznek a motra te vagy? Marmint te allitgatod a tipust egyes, kettes es harmas kozt, te nezed ossze az SMS-ben kuldott kodokat?

Kerlek ird le tiszta, hogy mi van. Majd ezt kovetoen ird le, hogy hol akadtal el, mit kellene tudjon a rendszered. Ha raszansz par percet a dologra es erthetoen leirod a problemad, tudunk segiteni! Ellenkezo esetben sajnos nem igazan.

Udv,
Tupacko
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 118


« Válasz #388 Dátum: 2010. 01. 04. - 21:06:44 »

Helló és BUÉK!

Kicsit eltűntem, és már itt is vagyok egy érdekes kérdéssel. A gugli nem segített így kérdezek.

Kód:
<a href="alkatresz-tartozek.php?akat=<?=$allapot?>&gykat=<?=$gyartmany?>"><?php echo $gyartmany;?></a><br />

Van egy ilyen jóképű sorom, lényegében egy táblából nézegetem be az adatokat ha a $allapot=1 akkor az új alkatrészt jelöl, ha 2 akkor az bontott alkatrészt. Ezt egy fix linkkel hívom meg. Lehet .php?akat=uj vagy .php?akat=bontott is, mind1.

Ekkor én megadtam neki ha 1-et ad át a továbbiakban akkor kiírja az 1-es állapotú alkatrészeket (azaz ahol az allapot=1 az adatbázisban) és fordítva ha 2-est ad át akkor... stb.

Ezzel szétszelektálom, hogy új($allapot=1) vagy bontott($allapot=2).

A fenti beállított linket ugyebár automatikusan kiegészíti a $gyartmany szoveggel, pl.: suzuki, opel stb. amit megadok az adatfelvitelnél.
Ha pl.: alkatresz-tartozek.php?akat=1&gykat=suzuki akkor kilistázza a suzuki alkatrészeket és így tovább.

A problémám az, hogy ha két azonos gyartmany van fent az adatbázisba akkor ugyebár szépen alálistázza a dolgokat ha a linkre kattintok, viszont két linket is betol nekem:
Kód:
<a href=alkatresz-tartozek.php?akat=1&gykat=suzuki>Suzuki</a>
Kód:
<a href=alkatresz-tartozek.php?akat=1&gykat=suzuki>Suzuki</a>

Van amivel le tudom limitálni, hogy minden esetbe ha van már két azonos gykat akkor csak egyszer tegyen nekem linket.
Gondolkoztam rajta, hogy a kategóriákat mondjuk külön táblába tárolom, minden autógyártót felviszek esetleg és úgy hozom össze valahogy.

Beszúrom az egész kódot is biztos ami fix, elég csúnya de egyenlőre működőképes aztán majd szépítgetem.
Kód:
<?php
$_REQUEST
['id']=11;
include(
"include/header.inc.php");
include(
"include/picresize.inc.php");

$db DOpen();
?>


<?php
//adatbázis kapcsolódás
$sql_stat DMakeQueryString("SELECT * FROM alkatresz ORDER BY id DESC");
$sql_ered DQuery($_REQUEST["BTDatabase"],$sql_stat,$db);

if (DRowNumber($sql_ered)) {
while ($re DGetRow($sql_ered)) {

$id $re[0];
$allapot $re[1];
$gyartmany $re[2];
$nev $re[3];
$cikkszam $re[4];
$leiras $re[5];
$ar $re[6];
$akciosar $re[7];
$kep $re[8];
?>


<?php if ($_GET['akat']==$allapot & !$_GET['gykat']==$gyartmany) { ?>

<a href="alkatresz-tartozek.php?akat=<?=$allapot?>&gykat=<?=$gyartmany?>"><?php echo $gyartmany;?></a><br />

<?php ?>

<?php if ($_GET['akat']==$allapot $_GET['gykat']==$gyartmany) { ?>

<div class="hirdetesbox">
<div class="alkatresz-text">
<div class="alkatresz-1"><?php echo $nev;?></div>
<div class="alkatresz-2">Cikkszám: <?php echo $cikkszam;?></div>
<div class="alkatresz-3">Ár: <?php echo $ar;?></div>
<div class="alkatresz-4">Akciós ár: <?php echo $akciosar;?></div>
<div class='clear'></div>
</div>

<div class="alkatresz-text">
<div class="alkatresz-6">

<?php
 $pic $sql_ered;
  if ($pic !="") {

  $datadir "alkatresz/";
  $pic_eler $datadir.$kep;
  $maxx 100;
  $maxy 100;

        $pic_size = array();
    $pic_size pic_resize($maxx$maxy$pic_eler);
    }
?>


<a href="<?php echo $datadir.$kep?>" rel="lightbox">
<img src="<?php echo $pic_eler?>" width="<?php echo $pic_size[0]?>" height="<?php echo $pic_size[1]?>" alt="<?php echo $tipus?>" title="<?php echo $tipus?>" border="0" /></a>
</div>

    <div class="alkatresz-7-8">
<div class="alkatresz-7"><div class="alkatr-text"><span class="alkatr-kiemel">Leírás: </span><?php echo $leiras;?></div></div>
</div>

   <div class="clear"></div>
</div>

<div><br /></div>
</div>

<?php } } } ?>

<?php if (!isset($_GET['akat'])) { ?>

<a href="alkatresz-tartozek.php?akat=1">Új alkatrész</a><br /><br />
<a href="alkatresz-tartozek.php?akat=2">Bontott alkatrész</a>

<?php ?>

<?php
DClose
($db);
include(
"include/footer.inc.php");
?>

Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #389 Dátum: 2010. 01. 05. - 14:10:50 »

Itt SQL gondod van, adatbazis kezeles Mosolyog Olvass utana az adatbazis noramlizalasnak, az adatbazis normal formainak. Erre azert van szukseged, mert ugy latom nem vagy tisztaban, hogy egy SQL adatbazis miert is "relacionalis" adatbazis. Ha minden alkatresznel tarolod, hogy milyen marka, akkor rengeteg redundans, folosleges, adatod lesz az alkatresz tablaban es egy ido utan lelassul a rendszer vagy lefagy ...
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 118


« Válasz #390 Dátum: 2010. 01. 17. - 15:38:53 »

Helló.

Teljes káosz, nem tudom kiagyalni, nincs erre valami tutor valahol?
Szétbontottam a részeket 3 táblába.

alkatresz_a tábla:
azonosito (1, 2, stb.) - auto_incre
akat (új, bontott, stb.)

alkatresz_kat tábla:
azonosito (1, 2, stb.) - auto_incre
gykat (suzuki, opel, stb.)

alkatresz tábla:
id
stb. stb. ami fönt is van a múltkori bemásoltban

Egyszerűen nem jövök rá, hogy tudom beazonosítani a részeket, hogy a végeredmény mondjuk egy új->opel->és csak az opeles dolgokat listázza és persze csak az új szekcióban (lehet több is).  Határozatlan
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #391 Dátum: 2010. 01. 17. - 19:24:12 »

Itt egy jonehany, elmelet, peldak, magyarazat:
http://www.google.com/search?q=relational+database+normal+form
http://en.wikipedia.org/wiki/Database_normalization
http://www.bkent.net/Doc/simple5.htm
http://www.phlonx.com/resources/nf3/
http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html

Sok sikert! Egyszer kell ezt megtanuld es utana meglasd, minden projektednel jol fog jonni!
Naplózva
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #392 Dátum: 2010. 01. 24. - 21:00:34 »

Szerintem a bejegyzések kategorizálása nem olyan rugalmas mint a címkézés.
Ezért is szeretném beépíteni az oldalamba a címkézést, de nem értem a működését és a felépítését.
Ebben kérném a segítségeteket, hogy megértsem.
« Utoljára szerkesztve: 2010. 01. 24. - 21:06:48 írta kovger » Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #393 Dátum: 2010. 01. 24. - 22:14:49 »

Van, hogy a kategorizalas szukseges Mosolyog Pl. szamitogep / szamitogep alkatresz / processzor Ezen belol lehet cimkezes: Intel, LGA 775, Core 2 Quad, stb.
A cimkezest legegyszerubben ugy erheted el (anelkul, hogy a meglevo tablaid megvaltoztasd), hogy keszitesz ket uj tablat:

1. cimke (id, cimkeErtek)
2. cimkezniValo-Cimke-Osszekoto (id, cimkezniValoId, CimkeId)

A lekeres egyszeru, pl.:

Kód:
select distinct t.*, c.* from termek t, termekCimkeOsszekoto tco, cimke c where t.id = tco.termekId and c.id = tco.cimkeId

Olvasmany:
http://en.wikipedia.org/wiki/Taxonomy
http://yoast.com/wordpress-custom-taxonomies/
erdekesseg - http://yoast.com/wordpress/simple-taxonomies/
tudomanyosabb - http://www.taxonomystrategies.com/presentations/2008/UNCTaggingTalk.pdf , cdn.oreilly.com/radar/r1/02-05.pdf

Jo tanulast!

U.i.: ha nem haragszol meg, megkerhetlek, hogy irj egy rovidebb leirast, akar jegyzet formaban is, a tanultakrol. Esetleg ha meg utana keresel, akkor az is jol jonne. Keszits egy kis "webliografiat" is a vegere (vagy integrald bele a szovegbe), hogy mas is tudja elolvasni a forrasokat, ahonnan tanultal. Szeretnem publikalni a WebPillango fooldalan, termeszetesen a te nevedben Mosolyog Ennyivel is segitsuk a tanulni vagyokat (vagy akinek nem jut eszebe, de ha elolvassa maga is otleteket nyer). Te igy is ugy is elolvasod, fel oranal tobbet nem vesz igenybe egy konnyen olvashato, 20 vagy tobb soros bejegyzes(ke) !? Mosolyog Miert ne probalnank meg, hogy a forumon felmerulo erdekesebb temakat a fooldalon is hasznositsuk, ahol tobb a latogato. Aztan idovel tobbet jonnek majd a forumra is es megjobban/gyorsabban tudjuk segiteni egymast.

Elore is koszonom, ha elkeszited a leirast!
Naplózva
kovger

Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 89


WWW
« Válasz #394 Dátum: 2010. 01. 25. - 09:41:29 »

Tegnap találtam egy cikket a címkézésről.
Ebben van példa kód is: http://www.phpro.org/tutorials/Tagging-With-PHP-And-MySQL.html
Ha sikerül megcsinálnom, akkor írok róla egy cikket, de addig szerintem még sok írást el kell olvasnom.
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #395 Dátum: 2010. 01. 25. - 21:47:21 »

Ok, koszonom a jovendobeli erdeklodok neveben is!
Jo tanulast!
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 118


« Válasz #396 Dátum: 2010. 02. 08. - 20:51:50 »

Helló.

Kicsit elakadtam egy apró projekttel, lécc' valaki segítsen ki Mosolyog.

Készítettem egy egyszerű hírlevél küldőt, form-al, admin-nal, html template-tel.
Jól is működik a dolog, viszont készítettem hozzá egy külön fájlban egy html templatet amit majd kiküld.

Ezzel a kóddal illesztem be (teszt gyanánt):
$uzenet = get_include_contents('template/template.inc.html');

és ugyebár a kiküldés: mail( $email, $targy, $uzenet, $fejlec);

Ekkor szépen behúzza function-nal meghatározott módon a template.inc.html fájlt. Tökéletesen ki is megy (fejléc, lábléc és előrre beírt tartalom).
Viszont én a küldőhöz készítettem egy kis admint ami egy ckeditorral formázott szöveget egy $tartalom változóba ad át.
El is értem a kérdésem lényegéhez, mikor behúzom include-dal a template.inc.html fájlt miként tudom a megfelelő helyre betenni a $tartalom változót, hogy oda kiírja azt a szöveget amit bevittem a ckeditor-on keresztül.

Tudom, úgy működik hogy az egész template.inc.html fájlt beteszem a $uzenet változóba egyből és akkor a megfelelő helyre megy a ' . $tartalom . ' rész. Így működik is tökéletesen, csak szebben és letisztultabban néz ki illetve a továbbiakban lehet templatet egyszerűen változtatni ha külső fájlból hívom be a html részt.

Próbáltam a template.inc.html-be betenni egy ilyen sort: <?php echo $tartalom; ?>, de nem dolgozza fel a $tartalom változót, nem illeszti be a benne átadott szöveget miután bekéretem ($uzenet = get_include_contents('template/template.inc.html');
Szomorú

Ötlet? Mosolyog
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 118


« Válasz #397 Dátum: 2010. 02. 09. - 02:07:58 »

Közben feltaláltam magam, leírom, ha valakit érdekel vagy ilyesmivel küszködik egyszer.

Kód:
$file = fopen( "template/template.inc.html", "r" );
$uzenet = fread( $file, filesize( "template/template.inc.html" ) );
fclose( $file );

Beolvassuk - csak olvasásra "r" - a template.inc.html fájlt amiben a teljes html felépítés benne van.
A template.inc.php fájlban egyedileg azonosítjuk azt a helyet ahová a változó szövege megy. Nálam ez a #TARTALOM# kód lett.

Kód:
$uzenet = str_replace("#TARTALOM#",$tartalom,$uzenet);

A $uzenet változóba meghívott template.inc.php -ban lecserléjük a #TARTALOM# szöveget (egyedi azonosítót) a ckeditorral létrehozott $tartalom változó tartalmával.
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Törzstag
*****
Nem elérhető Nem elérhető

Hozzászólások: 958


WWW
« Válasz #398 Dátum: 2010. 02. 10. - 13:11:09 »

Ez is megoldas. Viszont ami megzavarhat nehany olvasot, hogy a kerdest a file_get_contents-szel kapcsolatban tetted fel es fopen/fclose megoldast adtal. Mindegy milyen modon kapod meg a file tartalmat a valtozoban, a kerdeses reszt ugyis a str_replace fugvennyel irod be.
Egy masik megoldas, ha hasznalod az sprintf fuggvenyt.
Naplózva
spier
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 118


« Válasz #399 Dátum: 2010. 02. 20. - 15:47:07 »

Üdv. Olyan érdekelne, hogy mennyire elegáns megoldás ha az üzeneteket session-ban tárolom és íratom ki.

A projekt egy regisztráció mondjuk (regisztracio.php) és pl.:
Ha sikeres a regisztráció - adatokat továbbítottuk az adatbázisba pl. - akkor:
Kód:
$_SESSION["valasz"]="sikeres";
header("Location: regisztracio.php");
exit;

és a válaszokat kiíratom ezzel valahová:
Kód:
if (isset($_SESSION["valasz"]) && $_SESSION["valasz"]=="sikeres") {
print("Sikeres regisztráció! Bejelentkezhet a megadott adatokkal!");
unset($_SESSION["valasz"]);
}

Ahhoz, hogy állandóan ne adja vissza nekem a "valasz" értékét betettem egy unsetet.
Ez a megoldás nagyon gáz így, vagy mind1, hogy javascriptes vagy session-os megoldást használok?

Thx a meglátásokat előre is.
Naplózva
Oldalak: 1 ... 18 19 [20] 21 22 ... 28   Fel
  Nyomtatás  
 
Ugrás: