Archívum - Feb 2010 - Fórum téma
február 17
Adatbázistábla tartalmának listázása
Sziasztok!
Kicsit elakadtam a php-ba, és a segítségetek kérném, egy adatbázistábla tartalmának a megjelenítéséhez.
Tudom, hogy már van fenn hasonló, de nekem nem sikerül megoldanom azok alapján.
Az adatbázis egyszerű, egy tábla van benne, semmi bonyolult, valami ilyesmi:
CREATE TABLE `valami` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nev` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`szuletesiev` INT( 4 ) NOT NULL ,
`tajszam` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`felvette` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`datum` DATETIME NOT NULL ,
PRIMARY KEY ( `id` )
)
A lényeg az lenne, hogy ki tudjam listázni a tartalmát valamilyen táblázatos formában.
A táblázatnak legyen egy fejléce, és az átláthatóság kedvéért minden páros, és páratlan sor más színű legyen. (mondjuk szürke, és fehér, vagy mindegy, a lényeg, hogy különbözzön)
A listázás mindegy milyen sorrendbe történik (bár logikus lenne az id szerint), de ki lehessen választani az oldalon (mondjuk egy legördülő menübe, vagy megadással, stb) hogy csak azokat az adatokat listázza, ahol a "felvette" mező mondjuk Kovács Józsi. De mivel nem fix ezeknek az embereknek a száma (akár minden új sort vihet fel más ember), valahogy úgy kéne megoldani, hogy ha új ember visz be adatot a táblázatba, akkor automatikusan lehessen szűkíteni a keresést az általa bevitt adatokra is.
Nem tudom mennyire érthető, hogy mit szeretnék, de remélem tudtok segíteni, mert nekem nagyon nem sikerül :(
A segítségeteket előre is köszönöm!
■ Kicsit elakadtam a php-ba, és a segítségetek kérném, egy adatbázistábla tartalmának a megjelenítéséhez.
Tudom, hogy már van fenn hasonló, de nekem nem sikerül megoldanom azok alapján.
Az adatbázis egyszerű, egy tábla van benne, semmi bonyolult, valami ilyesmi:
CREATE TABLE `valami` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nev` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`szuletesiev` INT( 4 ) NOT NULL ,
`tajszam` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`felvette` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`datum` DATETIME NOT NULL ,
PRIMARY KEY ( `id` )
)
A lényeg az lenne, hogy ki tudjam listázni a tartalmát valamilyen táblázatos formában.
A táblázatnak legyen egy fejléce, és az átláthatóság kedvéért minden páros, és páratlan sor más színű legyen. (mondjuk szürke, és fehér, vagy mindegy, a lényeg, hogy különbözzön)
A listázás mindegy milyen sorrendbe történik (bár logikus lenne az id szerint), de ki lehessen választani az oldalon (mondjuk egy legördülő menübe, vagy megadással, stb) hogy csak azokat az adatokat listázza, ahol a "felvette" mező mondjuk Kovács Józsi. De mivel nem fix ezeknek az embereknek a száma (akár minden új sort vihet fel más ember), valahogy úgy kéne megoldani, hogy ha új ember visz be adatot a táblázatba, akkor automatikusan lehessen szűkíteni a keresést az általa bevitt adatokra is.
Nem tudom mennyire érthető, hogy mit szeretnék, de remélem tudtok segíteni, mert nekem nagyon nem sikerül :(
A segítségeteket előre is köszönöm!
PHP5 WIN7 hiba
Van egy olyan problémám, hogy a laptopomon beállítottam az iis-t (win7hun home pr. 64bit), majd feltelepítettem a PHP 5.2.12 Non-thread-safe installer pakkot a gépre(FAST-CGI választottam telepítéskor).
A problémám az, hogy csináltam egy index.php-t, de amikor lekérem a böngészőben a localhost/index.php oldalt akkor csak a szöveg jelenik meg, nem a php összefoglaló ablaka.
Ez jelenik meg a böngészőben:
<?php
phpinfo();
?>
Mit csináltam rosszul?
Segítségeteket előre is köszönöm.
■ A problémám az, hogy csináltam egy index.php-t, de amikor lekérem a böngészőben a localhost/index.php oldalt akkor csak a szöveg jelenik meg, nem a php összefoglaló ablaka.
Ez jelenik meg a böngészőben:
<?php
phpinfo();
?>
Mit csináltam rosszul?
Segítségeteket előre is köszönöm.
flv player dinamikus link...
Egy megoldás során egy beágyazott flv playert használok klipek lejátszásához. Minden szép és jó, amíg magukat a fájlokat használom, de ha egy védett könyvtárba teszem őket és utána php-vel kiemelem onnan, és hivatkozással adom meg őket (http://www.hely.hu/fajl.php?id=1&tipus=2) egy furcsa jelenséget produkál, azaz ha elkezdi betölteni a videót addig nem tudok sehová sem elmenni sem vissza gombbal sem linkkattintással amíg be nem tölti teljesen a klippet!
Ez mind a JW playerrel mind a Flowplayerrel történik bármelyik böngészővel. Én a fejlécre tippeltem, de szerintem semmi baj vele:
---------
---------
$fajlHely=$hely.$filename;
$mekkora=filesize($fajlHely);
$fp = $fajlHely;
switch
($ext){
case "flv":
$mime="video/x-flv";
break;
case "jpeg":
case "jpg":
$mime="image/jpeg";
break;
case "gif":
$mime="image/gif";
break;
}
header('Pragma: public'); // required
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($fajlHely)).' GMT');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header("Content-Length: " . filesize($fajlHely));
header("Content-Transfer-Encoding: binary");
header('Content-disposition: inline; filename='.$filename);
header('Connection: close');
readfile($fp);
exit();
---------
---------
Szerintetek?...
■ Ez mind a JW playerrel mind a Flowplayerrel történik bármelyik böngészővel. Én a fejlécre tippeltem, de szerintem semmi baj vele:
---------
---------
$fajlHely=$hely.$filename;
$mekkora=filesize($fajlHely);
$fp = $fajlHely;
switch
($ext){
case "flv":
$mime="video/x-flv";
break;
case "jpeg":
case "jpg":
$mime="image/jpeg";
break;
case "gif":
$mime="image/gif";
break;
}
header('Pragma: public'); // required
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($fajlHely)).' GMT');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header("Content-Length: " . filesize($fajlHely));
header("Content-Transfer-Encoding: binary");
header('Content-disposition: inline; filename='.$filename);
header('Connection: close');
readfile($fp);
exit();
---------
---------
Szerintetek?...
Method chaining és a konstruktorok
Hi
Bocs a rossz fogalmazásért, nem tudom mi a magyar szakszó erre (összefűzés?).
Nagyon szeretem ezt a típusú írásmódot használni:Viszont mégsem működik így:A php oldalon fent van mint "bug", de igazából nem értem, mert logikus lenne, hogy működjön, vajon javítani fogják ezt, vagy valami számomra ismeretlen okból ez így marad (5.2.5 alatt még nem megy)?
http://bugs.php.net/bug.php?id=34502
Nem az lenne értelmes hogy a new valami() már használható objektumra mutat, ha a konstruktor elvileg (és azért van végülis) az objektumra kéne hogy mutasson (mintha return $this lenne)?
■ Bocs a rossz fogalmazásért, nem tudom mi a magyar szakszó erre (összefűzés?).
Nagyon szeretem ezt a típusú írásmódot használni:
$a = new valami();
$a -> foo() -> bar() -> stb();
$a = new valami() -> foo() -> bar();
http://bugs.php.net/bug.php?id=34502
Nem az lenne értelmes hogy a new valami() már használható objektumra mutat, ha a konstruktor elvileg (és azért van végülis) az objektumra kéne hogy mutasson (mintha return $this lenne)?
február 16
PHP-Mysql
Először is üdv. ismét!
Van egy problémám, a következő:
Adott egy regisztráció, ahol az adatok tárolásán kívül, generálunk egy random számot, jelen esetben 1-3 között, és ezek egyedi értékek kell hogy legyenek.
Ezzel azt szeretném elérni, hogy az adatbázisban, a táblát átböngészve, olyan random számot kapjak, amely 100% hogy nincs benne a táblában.
Jelen esetben mondjuk 2 lenne valamely már regisztrált felhasználó száma a táblában, akkor ha az új felhasználó regisztrációnál 2t generál, lefutáskor figyelembe véve hogy ez már egy generált, és táblában tárolt (UNIQUE) érték, új számot generáljon (1 vagy 3) , ami még nincs benne a táblában, így kizárva a duplikációt.
Nem szeretném hallani azt hogy "uhh de hülye" , és hasonló társaikat.
Segítségért jöttem fel, kérem aki megmondja mi a hibám, ami miatt nem megy, kerek mondatban foglalja össze ha elméleti, vagy gyakorlati hibám van.
Köszönöm
■ Van egy problémám, a következő:
Adott egy regisztráció, ahol az adatok tárolásán kívül, generálunk egy random számot, jelen esetben 1-3 között, és ezek egyedi értékek kell hogy legyenek.
<?php
$random=rand(1,3);
$keres=mysql_query("SELECT * FROM tabla WHERE random='$random'",$kapcsolat);
$sorok_szama=mysql_num_rows($keres);
while ($sorok_szama>0)
{
$random=rand(1,3);
$sorok_szama=mysql_num_rows($keres);
}
$random=rand(1,3);
$keres=mysql_query("SELECT * FROM tabla WHERE random='$random'",$kapcsolat);
$sorok_szama=mysql_num_rows($keres);
while ($sorok_szama>0)
{
$random=rand(1,3);
$sorok_szama=mysql_num_rows($keres);
}
Ezzel azt szeretném elérni, hogy az adatbázisban, a táblát átböngészve, olyan random számot kapjak, amely 100% hogy nincs benne a táblában.
Jelen esetben mondjuk 2 lenne valamely már regisztrált felhasználó száma a táblában, akkor ha az új felhasználó regisztrációnál 2t generál, lefutáskor figyelembe véve hogy ez már egy generált, és táblában tárolt (UNIQUE) érték, új számot generáljon (1 vagy 3) , ami még nincs benne a táblában, így kizárva a duplikációt.
Nem szeretném hallani azt hogy "uhh de hülye" , és hasonló társaikat.
Segítségért jöttem fel, kérem aki megmondja mi a hibám, ami miatt nem megy, kerek mondatban foglalja össze ha elméleti, vagy gyakorlati hibám van.
Köszönöm
február 15
Index használata, 'where' után több kritérium (mysql)
Sziasztok!
Van egy táblám amiben számos oszlop van. Int es varchar típusúak is.
A felhasználó egy form-on keresztül tud keresést indítani, viszont nem kötelező beírni az összes szűkítési lehetőséget.
Az lenne a kérdésem, hogy szerintetek mi lenne a legjobb (leggyorsabb) módja, hogy megkapja a választ.
Amire eddig gondoltam az az hogy minden mezőhöz adok egy-egy külön indexet, de ez nem valami jó, mert egy index lesz ugye csak használva.
Így arra gondoltam, hogy akkor hozzáadok egy indexet az összes ugyanolyan típusú mezőhöz, így már azt fogja használni, de csak akkor ha balról egy adott oszlopig az összeset tartalmazza a lekérés, de nem garantált, hogy a a felhasználó pont ezekre az oszlopokra akar szűkíteni.
Ez sem valami jó megoldás, ugyhogy tőletek kérnék valamilyen optimalizálási segítséget.
Előre is köszi.
■ Van egy táblám amiben számos oszlop van. Int es varchar típusúak is.
A felhasználó egy form-on keresztül tud keresést indítani, viszont nem kötelező beírni az összes szűkítési lehetőséget.
Az lenne a kérdésem, hogy szerintetek mi lenne a legjobb (leggyorsabb) módja, hogy megkapja a választ.
Amire eddig gondoltam az az hogy minden mezőhöz adok egy-egy külön indexet, de ez nem valami jó, mert egy index lesz ugye csak használva.
Így arra gondoltam, hogy akkor hozzáadok egy indexet az összes ugyanolyan típusú mezőhöz, így már azt fogja használni, de csak akkor ha balról egy adott oszlopig az összeset tartalmazza a lekérés, de nem garantált, hogy a a felhasználó pont ezekre az oszlopokra akar szűkíteni.
Ez sem valami jó megoldás, ugyhogy tőletek kérnék valamilyen optimalizálási segítséget.
Előre is köszi.
február 15
String csere Javascript-el, honlapon belül.
Sziasztok!
Egy honlap fórum részéről van szó. A hozzászólásnál nem akarom a felhasználókat szigorúan korlátozni, hogy csak betűket, számokat használhassanak.
Arra gondoltam, hogy a hozzászólásokban minden spec karaktert kicserélek egy ártalmatlan karaktersorozatra pl. %kod1%, majd egy md5 kódolás után írnám be az adatbázisba. Ezzel meg van a védelem is. Ez a része megy az elképzelésemnek.
Hozzászólás listázásánál gondolom Javascript-tel kellene játszani, hogy visszacserélje a kódokat karakterre: pl. %kod1% -> @
Javascriptet még nem használtam, csak tudom, hogy mire való. Szeretnék Tőletek segítséget, egy "Helló Világ" bonyolultságú példát kérni erre a cserére.
■ Egy honlap fórum részéről van szó. A hozzászólásnál nem akarom a felhasználókat szigorúan korlátozni, hogy csak betűket, számokat használhassanak.
Arra gondoltam, hogy a hozzászólásokban minden spec karaktert kicserélek egy ártalmatlan karaktersorozatra pl. %kod1%, majd egy md5 kódolás után írnám be az adatbázisba. Ezzel meg van a védelem is. Ez a része megy az elképzelésemnek.
Hozzászólás listázásánál gondolom Javascript-tel kellene játszani, hogy visszacserélje a kódokat karakterre: pl. %kod1% -> @
Javascriptet még nem használtam, csak tudom, hogy mire való. Szeretnék Tőletek segítséget, egy "Helló Világ" bonyolultságú példát kérni erre a cserére.
? PHP beállítási probléma
A tegnapi napon indítottam el az Apache 2.2 HTTP szervert a saját gépemen és PHP-5.3.1-et tettem fel a Weblaboros útmutatás alapján.
A mai napig nem foglalkoztam ilyen dolgokkal, így számomra teljesen ismeretlen ez a téma. Ilyen "előképzettséggel" vetném fel a problémámat.
A beállítások elvégzése után egy .php (internetről letöltött sablon) fájt szerettem volna megjeleníteni. A keresőbe http://localhost/index.php szöveget írtam be.
Az oldalon a következő hiba jelent meg:
Warning: require(includes/application_top.php) [function.require]: failed to open stream: No such file or directory in D:\Web\index.php on line 13
Fatal error: require() [function.require]: Failed opening required 'includes/application_top.php' (include_path='.;C:\php5\pear') in D:\Web\index.php on line 13
Ha tud valaki segíteni, azt köszönöm.
■ A mai napig nem foglalkoztam ilyen dolgokkal, így számomra teljesen ismeretlen ez a téma. Ilyen "előképzettséggel" vetném fel a problémámat.
A beállítások elvégzése után egy .php (internetről letöltött sablon) fájt szerettem volna megjeleníteni. A keresőbe http://localhost/index.php szöveget írtam be.
Az oldalon a következő hiba jelent meg:
Warning: require(includes/application_top.php) [function.require]: failed to open stream: No such file or directory in D:\Web\index.php on line 13
Fatal error: require() [function.require]: Failed opening required 'includes/application_top.php' (include_path='.;C:\php5\pear') in D:\Web\index.php on line 13
Ha tud valaki segíteni, azt köszönöm.
Regisztráció
Helló! Szeretnék segítséget kérni. Van egy oldalam, és arra csináltam regisztrációt. Minden stimmel, de azt szeretném ha az e-mail címem-re küldené el a regisztráltakat.
Tudnátok segíteni?
Előre is köszi. Krisz888
■ Tudnátok segíteni?
Előre is köszi. Krisz888
Drag a div - onmouseup
Problémám, hogy mozgatni szertenék egy div-et az egér segítségével, ami mozog is, de nem hajlandó elereszteni.
Már találtam külföldi fórumokon tökéletesen működő megoldásokat, de azok sokkal többet 'tudtak'. Ha megoldható, én ezt a kódot szeretném kiegészíteni minimálisan, hogy megértsem mi a gond ebben az esetben.
Előre is köszi!
■ <html>
<head>
<script>
var cx=cy=-1;
function down(event){
document.getElementById('main').style.background='blue';
cx=event.clientX;
cy=event.clientY;
move(event);
}
function up(){
cx=cy=-1;
document.getElementById('main').style.background='red';
}
function move(event){
if(cx>0 && cy>0){
document.getElementById('main').style.left=document.getElementById('main').offsetLeft+(event.clientX-cx);
document.getElementById('main').style.top=document.getElementById('main').offsetTop+(event.clientY-cy);
cx=event.clientX;
cy=event.clientY;
}
}
</script>
</head>
<body onmousemove="move(event);">
<div id='main' style='width: 100px; height: 100px; background: red; position: absolute;' onmousedown="down(event);" onmouseup="up();"></div>
</body>
</html>
<head>
<script>
var cx=cy=-1;
function down(event){
document.getElementById('main').style.background='blue';
cx=event.clientX;
cy=event.clientY;
move(event);
}
function up(){
cx=cy=-1;
document.getElementById('main').style.background='red';
}
function move(event){
if(cx>0 && cy>0){
document.getElementById('main').style.left=document.getElementById('main').offsetLeft+(event.clientX-cx);
document.getElementById('main').style.top=document.getElementById('main').offsetTop+(event.clientY-cy);
cx=event.clientX;
cy=event.clientY;
}
}
</script>
</head>
<body onmousemove="move(event);">
<div id='main' style='width: 100px; height: 100px; background: red; position: absolute;' onmousedown="down(event);" onmouseup="up();"></div>
</body>
</html>
Már találtam külföldi fórumokon tökéletesen működő megoldásokat, de azok sokkal többet 'tudtak'. Ha megoldható, én ezt a kódot szeretném kiegészíteni minimálisan, hogy megértsem mi a gond ebben az esetben.
Előre is köszi!