Archívum - 2007 - Fórum téma
április 6
mysql adatbázis kilistázása phpval
Sziasztok! Biztos sokan használják a phpmyadmin export funkcióját.
Ez SQL-ként alkalmazva kiírja hogy milyen parancs kell a táblák létrehozásához.
Én ugyan ezt szeretném elvégezni php segítségével, mert egy olyan alkalmazást szeretnék, hogy ha valaki kitöröl egy táblát akkor autó csináljon egy biztonsági másolatot a php és azt írja ki egy fileba.
Addig eljutottam h. kiírja a táblák keletkezési kódját, de nem találtam megfelelő parancsot arra, hogy a táblák sorait is kiírja. vagyis az INSERT INTO ... dolgokat nem tudom hogy tegyem a parancshoz.
Eddig a kód:
[colorer=php]
include "config_w.php";
//lekérjük a tábla neveket és egy tömbbe rakjuk
$kapcsolat= mysql_connect($localhost, $felhasznalo, $jelszo);
if(!$kapcsolat)
die ("Nem lehet csatlakozni a MySQL kiszolgálóhoz!" );
mysql_select_db($adatbazis, $kapcsolat) or die ( "Nem lehet megnyitni a $adatbazis adatbázist: ".mysql_error() );
$parancs = "SHOW TABLES FROM $adatbazis";
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
while($tabel = mysql_fetch_assoc($eredmeny)){
//go through the array ( $db => $tabelname )
foreach ($tabel as $db => $tabelname) {
$tablak[]=$tabelname;
}
}
mysql_close($kapcsolat);
//ebből a tömbből a nevek segítségével kiderítjük a táblák szerkezetét
for($i=0; $i<count($tablak); $i++){
$kapcsolat= mysql_connect($localhost, $felhasznalo, $jelszo);
if(!$kapcsolat)
die ("Nem lehet csatlakozni a MySQL kiszolgálóhoz!" );
mysql_select_db($adatbazis, $kapcsolat) or die ( "Nem lehet megnyitni a $adatbazis adatbázist: ".mysql_error() );
$parancs = "SHOW CREATE TABLE $tablak[$i]";
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
while($sor = mysql_fetch_assoc($eredmeny)){
//go through the array ( $db => $tabelsor )
foreach ($sor as $tabladb => $tabelsor) {
print "$tabelsor
Ez SQL-ként alkalmazva kiírja hogy milyen parancs kell a táblák létrehozásához.
Én ugyan ezt szeretném elvégezni php segítségével, mert egy olyan alkalmazást szeretnék, hogy ha valaki kitöröl egy táblát akkor autó csináljon egy biztonsági másolatot a php és azt írja ki egy fileba.
Addig eljutottam h. kiírja a táblák keletkezési kódját, de nem találtam megfelelő parancsot arra, hogy a táblák sorait is kiírja. vagyis az INSERT INTO ... dolgokat nem tudom hogy tegyem a parancshoz.
Eddig a kód:
[colorer=php]
include "config_w.php";
//lekérjük a tábla neveket és egy tömbbe rakjuk
$kapcsolat= mysql_connect($localhost, $felhasznalo, $jelszo);
if(!$kapcsolat)
die ("Nem lehet csatlakozni a MySQL kiszolgálóhoz!" );
mysql_select_db($adatbazis, $kapcsolat) or die ( "Nem lehet megnyitni a $adatbazis adatbázist: ".mysql_error() );
$parancs = "SHOW TABLES FROM $adatbazis";
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
while($tabel = mysql_fetch_assoc($eredmeny)){
//go through the array ( $db => $tabelname )
foreach ($tabel as $db => $tabelname) {
$tablak[]=$tabelname;
}
}
mysql_close($kapcsolat);
//ebből a tömbből a nevek segítségével kiderítjük a táblák szerkezetét
for($i=0; $i<count($tablak); $i++){
$kapcsolat= mysql_connect($localhost, $felhasznalo, $jelszo);
if(!$kapcsolat)
die ("Nem lehet csatlakozni a MySQL kiszolgálóhoz!" );
mysql_select_db($adatbazis, $kapcsolat) or die ( "Nem lehet megnyitni a $adatbazis adatbázist: ".mysql_error() );
$parancs = "SHOW CREATE TABLE $tablak[$i]";
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
$eredmeny = mysql_query ($parancs, $kapcsolat) or die ("<br>".mysql_error() );
while($sor = mysql_fetch_assoc($eredmeny)){
//go through the array ( $db => $tabelsor )
foreach ($sor as $tabladb => $tabelsor) {
print "$tabelsor
Lapozós fórum megjelenítés helyes sorszámozással
Sziasztok!
Oldalszámozást szeretnék az oldalam fórumába. Azt szeretném, hogy 1 oldalon csak 10 üzenet látszódjon. Ha már 11 üzenet van a lap alján megjelenjen , hogy 2. oldal. Ráklikkel a felhasználó és akkor 11-20-ig mutatja az üzeneteket. Erre nekem van egy kódom:De természetesen ez nem elég. Nem tudom, hogy hova szúrjam bele a fórumomat. Mert ugye természetesen így nem tudja megszámolni, hogy hány tagja van. Így mivel a fórumomban az utolsó 10 üzenet látszik, akármelyik lapra lépek mindíg az a 10 üzenet látszik amelyiket legutóbb beküldték. Remélem érthető a gondom :)
■ Oldalszámozást szeretnék az oldalam fórumába. Azt szeretném, hogy 1 oldalon csak 10 üzenet látszódjon. Ha már 11 üzenet van a lap alján megjelenjen , hogy 2. oldal. Ráklikkel a felhasználó és akkor 11-20-ig mutatja az üzeneteket. Erre nekem van egy kódom:
<?php
for($i=1;$i<=110;$i=$i+1){
$termek[$i]=$i;
}
$termekek_db=count($termek);
if(isset($_REQUEST["lap_szam"])){
$kezd=(($_REQUEST["lap_szam"]*10)-9);
if($termekek_db < ($kezd+9)){
$veg=$termekek_db;
} else {
$veg=($kezd+9);
}
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
#link1:hover{
text-decoration: underline;
color:#00FF00;
font-size: 12px;
}
-->
</style>
</head>
<body>
<?php
if($termekek_db > 10){
$mennyi=0;
$szam=$termekek_db;
while($szam > 0){
$mennyi=$mennyi+1;
$szam=$szam-10;
}
print("Talált oldalak: ");
for($k=1;$k<=$mennyi;$k=$k+1){
print("[<a id='link1' href='oldalszamozas.php?lap_szam=".$k."'>".$k."</a> ] ");
}
}
for($i=$kezd;$i<=$veg;$i=$i+1){
print("<br>".$termek[$i]."<br>");
}
?>
</body>
</html>
Ajax kódom minden harmadik kérdésre kiakad
Van egy kis gondom az alábbi ajax kóddal firefox alatt:Kb. stabilan minden 3. kérésre kiakad, és nem megy több kérés a szerver felé. Az ajaxReqBusy értéke false. Ráfut a "http.open('get', url);" sorra és ott akad ki, ha eléje hozom a " http.onreadystatechange = handleAjaxResponse;" sort, amúgy meg fordítva.
Láttok benne valami hibát? :-)
■
// Ajax lekeresek
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
var ajaxReqBusy = false;
function sendReqAjax(url) {
if (ajaxReqBusy) {
setTimeout("sendReqAjax('"+url+"')", 100);
} else {
ajaxReqBusy = true;
// setBusy();
http.open('get', url);
http.onreadystatechange = handleAjaxResponse;
http.send(null);
}
}
function handleAjaxResponse(){
if(http.readyState == 4){
if (http.status == 200) {
var response = http.responseText;
var update = new Array();
if(response.indexOf('|' != -1)){
update = response.split('|');
for (i=0;i<update.length;i=i+2){
document.getElementById(update[i]).innerHTML = update[i+1];
}
}
} else {
alert('Hiba a hálózati kapcsolatban! : '+http.status);
}
// unsetBusy();
ajaxReqBusy=false;
}
}
Láttok benne valami hibát? :-)
keresők és az ajax
Helló,
kérdésem elvi. Ismerem azokat a trükköket, ahogyan egy ajaxxal generált tartalmat be lehet bookmarkolni, és a keresők számára elérhetővé tenni, de... (pl. iwiw URL-es trükkjei stb.) Az utolsó projektem egy full ajaxos munka volt (élesben még nincs, mert tesztelés alatt áll). Itt egy saját JS ablakozó, saját keretrendszer (JS-es és PHP-s) működteti a portált, ehhez készülhetnek modulok. A tartalom jelen állás szerint sehogyan nem érhető el a kereső számára (sztem). Hogy példát is mutassak http://www.protopage.com/, körülbelül ilyen jellegű a dolog. Ezon kezdtem el gondolkodni, hogy miképpen lehetne megoldani, hogy bizonyos tartalmakat elérjenek a keresők. Nekem valamilyen külön a böngészők számára generált, tartalom jutott az eszembe, ami pl. egy fájlba kerül kiírásra és a fájl neve meghatározza az ablak azonosítóját, amit ha behívnak a böngészőbe, akkor ebből a webszerver tudni fogja, hogy a keretrendszer ablakozóját hogyan híva meg. Viszont az ilyen megoldások nyakatekertek...sok munka, sok hibalehetőség, hegesztés és gányolás... Érdekelnének vélemények, ötletek stb... Elvben engem picit zavar, hogy a keresők nem tudnak erre semmilyen szabványt, megoldást, lehetőséget. Márpedig ha van az ún. web 2 és az ajaxos módszerek, akkor a keresőknek is kellene szerintem valamit nyújtani ehhez, nem pedig azt várni, hogy a hagyományos, URL-es, html-es tartalmat mutassuk feléjük, mintha olyan lenne...szerintem ez gáz, főleg ha azt veszem, hogy a google és a yahoo is gyárt saját ajaxos keretrendszert és projekteket. Persze tudom, szép álmok... Vagy nem tudok valamiről? Ha valakinek van ebben tapasztalata, ötlete, akkor ossza ezt meg velem.
Köszönöm!
■ kérdésem elvi. Ismerem azokat a trükköket, ahogyan egy ajaxxal generált tartalmat be lehet bookmarkolni, és a keresők számára elérhetővé tenni, de... (pl. iwiw URL-es trükkjei stb.) Az utolsó projektem egy full ajaxos munka volt (élesben még nincs, mert tesztelés alatt áll). Itt egy saját JS ablakozó, saját keretrendszer (JS-es és PHP-s) működteti a portált, ehhez készülhetnek modulok. A tartalom jelen állás szerint sehogyan nem érhető el a kereső számára (sztem). Hogy példát is mutassak http://www.protopage.com/, körülbelül ilyen jellegű a dolog. Ezon kezdtem el gondolkodni, hogy miképpen lehetne megoldani, hogy bizonyos tartalmakat elérjenek a keresők. Nekem valamilyen külön a böngészők számára generált, tartalom jutott az eszembe, ami pl. egy fájlba kerül kiírásra és a fájl neve meghatározza az ablak azonosítóját, amit ha behívnak a böngészőbe, akkor ebből a webszerver tudni fogja, hogy a keretrendszer ablakozóját hogyan híva meg. Viszont az ilyen megoldások nyakatekertek...sok munka, sok hibalehetőség, hegesztés és gányolás... Érdekelnének vélemények, ötletek stb... Elvben engem picit zavar, hogy a keresők nem tudnak erre semmilyen szabványt, megoldást, lehetőséget. Márpedig ha van az ún. web 2 és az ajaxos módszerek, akkor a keresőknek is kellene szerintem valamit nyújtani ehhez, nem pedig azt várni, hogy a hagyományos, URL-es, html-es tartalmat mutassuk feléjük, mintha olyan lenne...szerintem ez gáz, főleg ha azt veszem, hogy a google és a yahoo is gyárt saját ajaxos keretrendszert és projekteket. Persze tudom, szép álmok... Vagy nem tudok valamiről? Ha valakinek van ebben tapasztalata, ötlete, akkor ossza ezt meg velem.
Köszönöm!
április 5
Böngészőfüggő CSS stílus megadása
Van-e lehetőség arra, hogy a CSS file-omban egy stílust csak az Opera értelmezzel? A probléma az, hogy van egy SELECT ami FF, IE és Opera alatt különböző méretű. IE nem foglalkozik a SELECT-nek adott magassággal, csak akkor ha min 2 sor-os, nekem meg 1 soros kell. Namost adtam neki egy height tulajdonságot. FF alatt jó is, viszont Opera alatt 2px-lel kisebb. Ezért kellene nekem vmi olyan megoldás (JS-es ügyeskedést leszámítva, szóval pusztán CSS vagy vmi felt. komment dolog), hogy külön Opera-nak megmondjam, hogy legyen szíves 2px-lel nagyobbra állítani a height értékét.
Rémlett vmi a -moz- és -o- prefix-szel kapcsolatban, de sajnos rá kellett jönnöm, hogy ezek nem minden CSS tulajdonságra vonatkoznak, hanem csak a ténylegesen böngészőspecifikusakra.
■ Rémlett vmi a -moz- és -o- prefix-szel kapcsolatban, de sajnos rá kellett jönnöm, hogy ezek nem minden CSS tulajdonságra vonatkoznak, hanem csak a ténylegesen böngészőspecifikusakra.
CSS menü háttere legyen ugyanolyan magas, mint a tartalom
A kovetkezo oldalon van egy CSS alapu menu, pontosan egy DIV amely bal oldalon talalhato : http://home.wplink.net/test/
Jobb oldalon tartalmi resz van. Igazabol azt szeretnem elerni, hogy a bal menu szine legyen egyforma a tartalom magasagaval.
Pontosan igy kene kinezen: http://img204.imageshack.us/img204/8125/73141604st4.jpg
Es ez egyforman valtozon mindig, a tartalom hosszusagaval.
Tudtok otleteket adni, segitseget ?
Koszonom!
■ Jobb oldalon tartalmi resz van. Igazabol azt szeretnem elerni, hogy a bal menu szine legyen egyforma a tartalom magasagaval.
Pontosan igy kene kinezen: http://img204.imageshack.us/img204/8125/73141604st4.jpg
Es ez egyforman valtozon mindig, a tartalom hosszusagaval.
Tudtok otleteket adni, segitseget ?
Koszonom!
PHP multithread
Sziasztok!
Van egy PHP/MySQL oldalam, amin szeretnék a "háttérben" kommunikálni egy másik szerverrel. A kommunikáció rendben működik, de nem tudom, hogyan tudnám a háttérbe kényszeríteni a folyamatot.
A folyamat: felhasználó beküldi a megfelelő adatokat a weblapon, PHP beírja a helyi adatbázisba. Ez ismétlődhet rövid időn belül akár többször is. Az így begyűjtött adatoknak egy részét szeretném átküldeni egy másik szerverre, de nem szükséges, hogy a kommunikáció azonnal megtörténjen, sőt, erősen ellenjavalt, hogy a kommunikáció blokkolja az aktuális műveletet. Annál is inkább, mivel előfordulhat, hogy akkor rögtön nem is sikerül az adatátvitel.
Van erre valami elegáns módszer?
Köszi:
N0r3i
■ Van egy PHP/MySQL oldalam, amin szeretnék a "háttérben" kommunikálni egy másik szerverrel. A kommunikáció rendben működik, de nem tudom, hogyan tudnám a háttérbe kényszeríteni a folyamatot.
A folyamat: felhasználó beküldi a megfelelő adatokat a weblapon, PHP beírja a helyi adatbázisba. Ez ismétlődhet rövid időn belül akár többször is. Az így begyűjtött adatoknak egy részét szeretném átküldeni egy másik szerverre, de nem szükséges, hogy a kommunikáció azonnal megtörténjen, sőt, erősen ellenjavalt, hogy a kommunikáció blokkolja az aktuális műveletet. Annál is inkább, mivel előfordulhat, hogy akkor rögtön nem is sikerül az adatátvitel.
Van erre valami elegáns módszer?
Köszi:
N0r3i
április 4
File feltöltésnél százalék kijelzés
Sziasztok!
Van egy egyszerű file feltöltő progim, ami jelenleg egy db html, és egy db. PHP fájlból áll. Tökéletesen működik azt leszámítva, hogy az ember nem tudja, hogy hol tart a feltöltés, és arról sem kep infót, hogy elkezdődött-e a feltöltés.
A php a következőképpen néz ki:Hogyan tudok százalékkijelzést megvalósítani?
Köszi!
■ Van egy egyszerű file feltöltő progim, ami jelenleg egy db html, és egy db. PHP fájlból áll. Tökéletesen működik azt leszámítva, hogy az ember nem tudja, hogy hol tart a feltöltés, és arról sem kep infót, hogy elkezdődött-e a feltöltés.
A php a következőképpen néz ki:
$uploaddir = "files";
print "A fájl feltöltése folyamatban van.";
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (chmod($_FILES['userfile']['tmp_name'], 0644))
{
if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.'/'.$_FILES['userfile']['name']))
{}
else
Köszi!
Oldalból nyitott popupból nyitott popupnak frissítenie kellene az oldalt
Üdv!
Olyan gondom van, h van egy php fájlom ami megnyit egy popup-ot. a popup megnyit mégegyet. Na most ha ez a második popup megnyílik is elvégzi a dolgát akkor a legelső NEM POPUP oldalnak meg kellene frissülnie. Hogy lehetne tudatni a kezdőoldallal, hogy a popup elvégezte a dolgát és frissülhet?
Előre is köszönöm!
TIV
■ Olyan gondom van, h van egy php fájlom ami megnyit egy popup-ot. a popup megnyit mégegyet. Na most ha ez a második popup megnyílik is elvégzi a dolgát akkor a legelső NEM POPUP oldalnak meg kellene frissülnie. Hogy lehetne tudatni a kezdőoldallal, hogy a popup elvégezte a dolgát és frissülhet?
Előre is köszönöm!
TIV
CSS menü alá szeretnék tenni képet
Van egy CSS alapu oldalam, fent letezik egy logo es egy bal sav (leftmenu).
A kovetkezo kepen lathato: http://img218.imageshack.us/img218/2884/kepna0.jpg
A content (tartalom) resze nincs megjelenitve a kepen, jobb oldalon talalhato.
A problema az, hogy szeretnek egy kepet beszurni a bal menube, ahol a piros kocka van (a menu also reszen).
Azt szeretnem elerni ha a menu merete valtozik (height) akkor menjen vele a kep is de mindig maradjon az also reszen.
Koszonom!
■ A kovetkezo kepen lathato: http://img218.imageshack.us/img218/2884/kepna0.jpg
A content (tartalom) resze nincs megjelenitve a kepen, jobb oldalon talalhato.
A problema az, hogy szeretnek egy kepet beszurni a bal menube, ahol a piros kocka van (a menu also reszen).
Azt szeretnem elerni ha a menu merete valtozik (height) akkor menjen vele a kep is de mindig maradjon az also reszen.
Koszonom!