ugrás a tartalomhoz

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

február 25

MySQL > Excel export PHP - POST Adatok eltűnnek

sunder · 2008. Feb. 25. (H), 10.38
Üdvözlet!

Elsőre talán furcsának tűnhet a probléma, de én már lerágtam mind a harminchat körmömet.

Egy eszközökre kereső script resultjait kellene lementenem Excel táblába.
Adott erre egy form (POST), ami tárolja és elküldi a kereséssel megegyező adatokat az Excel export script-nek.

No most, szépen $_POST-al megérkeznek az adatok.
Lefut ugyanaz a search mint az eredeti oldalon, példa

$limit2 = $_POST["limit2"];  $limit2INFO = $limit2;
        if ($limit2 == "") { $limit2 = "50"; }
        if (($limit2 != "10") AND ($limit2 != "25") AND ($limit2 != "50") AND ($limit2 != "100") AND ($limit2 != "200")) { $limit2 = "50"; }

$dispfrom = $_POST["dispfrom"];   $dispfromINFO = $dispfrom;
          if ($dispfrom == "") { $dispfrom = 0; }


$result=mysql_query("SELECT valami1, valami2, valami3, valami4 FROM xzy WHERE valami1 = xy1 AND valami2 = xy2 LIMIT $dispfrom,$limit2");


Ha itt és most leállítom a futást (Excel header leküldése előtt), akkor szépen megjelenik minden adat, ahogyan az kell (echo-val kiíratva).

Ellenben ha folytatom a dolgot (akkor ugye echo lefújva a header information miatt), akkor:

$count = mysql_num_fields($result);

for ($i = 0; $i < $count; $i++){
    $header .= mysql_field_name($result, $i)."\t";
}

while($row = mysql_fetch_row($result)){
  $line = '';
  foreach($row as $value){
    if(!isset($value) || $value == ""){
      $value = "\t";
    }else{
      $value = str_replace('"', '""', $value);

      $value = '"' . $value . '"' . "\t";
    }
    $line .= $value;
  }
  $data .= trim($line)."\n";
}
  $data = str_replace("\r", "", $data);

if ($data == "") {
  $data = "\n no matching records found \n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=excelfile_$timernow.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo $header."\n".$data;


Ha az $data -ba beleiratom a lefutott mysql queryt, akkor hajtépésemre az jön ki, hogy eldobott minden olyan értéket, ami POSTolva volt, és visszaállt alapra.

file feltoltesnel, nem alfabetikus karakterek torlese

eaposztrof · 2008. Feb. 25. (H), 05.45
ezt muveltem, ha valaki tud mas megoldast is, szivesen veszem
<?php
	function clear_name($image_name){
		$repstring="-";	// azert "-", mert a bot-ok szunetkent kezelik, tehat keresobarat megoldas
		$image_drive=array_shift(explode("\\",$image_name));	// kiszurom a meghajto jelet
		$image_without_drive=preg_replace("/$image_drive/","",$image_name);	// kep neve meghajto nelkul
		$image_without_drive_and_illegal_chars=preg_replace("/[^A-Za-z0-9.]/", $repstring, $image_without_drive);	//	kep neve illegalis karakterek nelkul, a "." meghagyva a kiterjesztesek vegett
		$image_without_drive_and_illegal_chars_and_single_repstring=preg_replace("/$repstring.$repstring/","",$image_without_drive_and_illegal_chars);	// a tobbszori "-"-ek torlese
		return rand(0,1000).$image_without_drive_and_illegal_chars_and_single_repstring;	// fajlnev egyedive tetele random szamokkal
	}
//	print(clear_name($_FILES['image_field']['name'])); // ez a form "image_field" inputjabol alakit
	print(clear_name('D:\clo˛#&@&@{#&@@{verfi#&@@@#&#@#&##kukac###eld-hmed-12p.hlarge#&##kukac##asd.jpg')); // pelda
?>
 

Drupal 6.0 aktív fórumtémák hozzászólásainak száma

krey · 2008. Feb. 25. (H), 00.09
A cím mindent elárul: hogy csinálja a weblabor, hogy pl. az aktív fórumtémák blokkban minden téma neve után szerepel a hozzászólások száma. Van ehhez modul (én nem találtam) vagy a templatebe kell írni valamit? (Ez utóbbi kínosan érint engem mint a drupal core rejtelmeit nem ismerő usert)
Előre is köszönöm a segítséget

üdv. krey
 

február 24

JS dinamikus inputra hivatkozás

PredMan · 2008. Feb. 24. (V), 16.12
Sziasztok!

dinamikus inputokra hogyan lehet hivatkozni?
van egy olyan kódom, amely segítségével betudok szúrni egy inputba egy tetszőleges karaktert. Így:


<a onclick="insertcode_leiras('&Oslash;'); refocus_leiras(); return false;" href=""><img src="Images/atmero.jpg" border="0" vspace="3" /></a>

Addíg nincs is gond, amíg egy már létező inputra hivatkozok, mert ugye annak a neve fix. De ha én dinamikusan hozom létre az inputot, akkor mire hivatkozzak?


function changeIt() {
	var i = 1;
	my_div.innerHTML = my_div.innerHTML +"<input type='text' name='fajta[]'>&nbsp;&nbsp;<input type='text' name='adat[]'>&nbsp;&nbsp;<input type='text' name='ar[]'><br>"
}

a cél az lenne, hogy a karaktert abba a dinamikusan létrehozott inputmezőbe illessze (adat[]-ba kéne valahogy), amelyiken éppen a focus() van.

Tudnátok ebben segíteni?

előre is köszönöm!
 

404es státusz beállítása.

lepke · 2008. Feb. 24. (V), 11.50
Üdv!
Megújítottam az oldalt, egy statikus oldal kapott dinamikus motort. Itt érhetitek el:
katolikus-traditio.hu
A gógölben szép számú (kb100) olyan indexelt oldal van amely már nem elérhető a szerveren. Ezt a webmester toolsal mind kilőni igen idegtépő lenne(ráadásul már egyszer meg is tettem, csak akkor sem jött össze a 404, robot.txt meg nem használtam). De ugye az sem jó hogy ezek még élnek.
No, én a 404-es hibaüzenet az index.php?hiba oldalára irányítom.
Értelem szerűen ha kap $_get["hiba"] változót, akkor a 404 tartalmát tölti be. Ezt úgy oldom meg, hogyha pl. htm kiterjesztésű a request uri akkor a http://katolikus-traditio.hu/dokumentum/ oldalt includeolom be, mert a dokumentumok voltak ilyen kiterjesztésűek. Html kiterjesztést pedig a menüpontok kaptak, azok meg szinte aradtak, így töltöm be mindig a megfelelő oldalt.
A bibi csak az, hogy így a szerver státuszt 200ra állítja. A google webmester tools is mondja hogy a 404es hibaoldalnak 200-as státsza va. Hogy tudom ezt a problémát megoldalni?
if (isset($_get["hiba"])) {
header("HTTP/1.1 404 not found");
}
ezzel próbálkoztam.
De hova illesszem be? A head tag-be, vagy az oldal legelejébe? Illetve ennyi elég? Illetve amit beírtam az legalább már helyes?
Másik, hogy ez seo szempontból mennyire szükséges, és mennyire jó ötlet?
 

február 23

a legjobb teljesítmény titka

kalamona · 2008. Feb. 23. (Szo), 16.14
sziasztok!

szerintetek mi befolyásolja leginkább a php alkalmazások sebességét és milyen mértékben az alábbi tényezők közül:

1. fájlok includeolása:
mennyit lassit a többszöri lemezről olvasás, ha sok kicsi fájlra tagoljuk a progit?

2. memóriában tartott kód mennyisége:
érdemes-e kevés fájlban sok kódot tartani lecsökkentve a lemezhez fordulások számát, cserébe viszont a memóriába kerül sok dolog, aminek csak töredéke fut le adott esetben. ilyenkor a php benn is tartja azokat a memóriában, vagy mindent felszabadít azonnal?

3. sql lekérdezések / fájlokból olvasások száma:
az előző kettőhöz képest szűk vagy tág keresztmetszet ez? gyorsabb e a lemezről olvasni, vagy sokkal gyorsabb mindent amit csak lehet adatbázisban tartani?

4. hívási "verem", egymásbaágyazott adatszerkezetek:
vagyis ha sok rövid függvényem / metódusom van, és emiatt sokszoros "mélységű" egymásból való hívások történnek rendszeresen az mennyire lassit? adatszerkezeteknél sokkal lassabb egy nagy több dimenziós tömbbe szervezni mint több kisebbe? (persze ilyenkor azok feltöltése, elérése lesz gyakoribb)

mennyire nyomnak ezek a latban egymáshoz képest? mivel lehet a legtöbbet nyerni? a drupal 6 bemutatásakor például ki is van emelve hogy tudatosan csökkent az egyszerre memóriában tartott kód mennyisége.

A Drupal 6-ban a legtöbb modult kisebb fájlokra bontottuk szét, csak azt betöltve, amire éppen szükség van, így kevesebb PHP kóddal kell foglalkoznia a szervernek.


ez lenne a legfontosabb szempont?
 

február 23

div transzparencia probléma

topper · 2008. Feb. 22. (P), 22.35
Kéthasábos oldal fej- és lábléce fixen a lap tetejéhez, illetve aljához tapad. A fennmaradó területen a bal oldali hasáb több részre van tagolva, fix pozícióban, a jobb oldali pedig görgethető, változó tartalmú blokk.

Az a problémám, hogy ez a jobb oldali (dinamikus) blokk alatt nem látszik át a blokkjaimat keretező div háttérszíne (a body tagé bezzeg igen! miért?).

Ezt áthidaltam azzal, hogy egy fix pozíciójú div-et beraktam a külső div-be, de ez ugye letakarja a jobb oldali divemet (mivel a fix pozíciójú blokkok mindig a relativek elé kerülnek)...

Persze ez is megkerülhető a z-index paraméterrel, ez viszont csak IE alatt működik.

Szóval a kérdés: van-e erre valami egyszerű megoldás?
 

Elektronikus kosar

zoliky · 2008. Feb. 22. (P), 20.17
Szeretnek egy nagyon szimpla elektronikus kosarat letrehozni. Peldaul Peter vasarol egy "banant" megy egy "narancsot", a kovetkezo mySQL tablaban ket bejegyzes jelenik meg:

ID | Name    | Quantity
=======================
1  | Banan   | 1
2  | Narancs | 1
Az adatokat egy HTML tablazatal jelenitem meg neki:

$querydb = mysql_query("SELECT id, name, quantity FROM cart");

<form name="cart" method="post" action="cart.php"> 
<table>
   <tr>
      <td>Name</td>
      <td>Quantity</td>
   </tr>
   while ($row = mysql_fetch_array($result) {
   <tr>
      <td>$row['name']</td>
      <td><input type="text" value="$row['quantity'] />
  </tr>
  }
</table>

<input type="submit" name="recalculate" value="recalculate">
Peter latja az adatokat, de azt szeretnem megoldani ha peldaul valtoztatni akarja a szamot a "Quantity" INPUT mezoben az valtozon meg a mySQL tablaban is, a submit gomb megnyomasa utan.

Hogyan tudom ezt megoldani ? Koszonom!
 

Adatok listazasa adatbazisbol

zoliky · 2008. Feb. 22. (P), 18.19
Van egy mySQL tablam amelyben adatokat tarolok. Szeretnem az utolso 6 adatot kilistazni a tablabol, PHP segitsegevel. Csak az utolso 6 adatot szeretnem listazni. Ezt, hogy tudom megoldani ? datum szerint ?

Koszonom!
 

Minden tartalom szövegdobozban?

darin · 2008. Feb. 22. (P), 10.37
Sziasztok!
Előre is elnézést kérek, ha a címet pontatlanul fogalmaztam meg, de nem tudom jobban.
Abban szeretném a segítségeteket kérni, hogy hogyan tudom megoldani, hogy minden egyes tartalom,
ami beküldésre kerül a weboldalra, egy automatikusan "táguló" szövegdobozba kerüljön? Szövegdoboz, vagy keret. A kettő nem ugyanaz, de mégis erről lenne szó.
Hirdetésekről van szó.
darin