ugrás a tartalomhoz

Archívum - 2007 - Fórum téma

április 6

mysql adatbázis kilistázása phpval

Qkac · 2007. Ápr. 6. (P), 15.20
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

Lapozós fórum megjelenítés helyes sorszámozással

Farstaff · 2007. Ápr. 6. (P), 11.43
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:

<?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>
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 :)
 

Ajax kódom minden harmadik kérdésre kiakad

YourSoft · 2007. Ápr. 6. (P), 09.27
Van egy kis gondom az alábbi ajax kóddal firefox alatt:

// 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;
 }
}
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? :-)
 

keresők és az ajax

virág · 2007. Ápr. 6. (P), 06.56
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!
 

április 5

Böngészőfüggő CSS stílus megadása

Max Logan · 2007. Ápr. 5. (Cs), 12.24
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.
 

CSS menü háttere legyen ugyanolyan magas, mint a tartalom

zoliky · 2007. Ápr. 5. (Cs), 10.31
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!
 

PHP multithread

N0r3i · 2007. Ápr. 5. (Cs), 09.49
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
 

április 4

File feltöltésnél százalék kijelzés

Bici · 2007. Ápr. 4. (Sze), 19.54
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:
$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
Hogyan tudok százalékkijelzést megvalósítani?

Köszi!
 

Oldalból nyitott popupból nyitott popupnak frissítenie kellene az oldalt

TIV · 2007. Ápr. 4. (Sze), 11.47
Ü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
 

CSS menü alá szeretnék tenni képet

zoliky · 2007. Ápr. 4. (Sze), 11.40
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!