ugrás a tartalomhoz

Archívum - Már 27, 2013 - Fórum téma

MYSQL+InnoDB+Rarticionálás

alfa · 2013. Már. 27. (Sze), 16.51
Sziasztok!
Van -e valakinek tapasztalata partíciónálással kapcsolatban?

Most próbálkozom vele (mysql 5.6), és igen érdekeseket tapasztalok.

1.
Ha van egy próbatáblám amit 4 részre partíciónálok, és teszek bele egyetlen egy adatot. Ekkor a information_schema.PARTITIONS táblában nyomom követhetem, hogy az az egy rekord melyik partícióra kerül.

Kipróbáltam, hogy változtatok a partíción, és azt tapasztalom, hogy ekkor information_schema.PARTITIONS táblában a tábla méretet jelző számláló minden partíción kinullázódik.
Ettől a pillanattól csak az új rekordok jelennek meg itt, illetve ha valamelyik rekord egy módosítás miatt egy másik partícióra kerül.

Szerencsére a rekord nem veszik el, de nem tudom, hogy ez normális működés -e. Nem tudom, hogy nagy elemszám esetén nem járna -e esetleg adatvesztéssel.

2.
Van egy nagy elemszámú próbatáblám. 3 mező van van benne véletlen adatokkal. A táblán mind a 3 mezőre külön-külön van egy-egy index.

Szerettem volna az adatokat átmásolni egy másik táblába, mely szerkezete ugyanúgy néz ki, csak két különbség van:
- került rá egy plusz index (egy két mezős)
- 15+1 partícióra van bontva az egyik mező alapján az új táblaszerkezet.

Kiadtam a INSERT INTO SELECT parancsot és már órák óta tölti át az adatokat. Mi miatt lehet ez? Lehet ez a partíciónálás hibája, hogy a nagy mennyiségű írással nem boldogul?

Miért nem tudom kiíratni a változókat?

Freddy88 · 2013. Már. 27. (Sze), 15.02
Heló!

Van egy olyan problémám hogy már több mint fél éve, nem használtam a PHP nyelvet és sok minden kiesett azóta. Szóval egy logint szeretnék írni, ami működik is, de szeretnék néhány adatot kiíratni a felhasználóról, viszont ez már nem megy olyan simán. A kérdés az, hogy miért nem kapja meg a változókat?
Tehát:
A login:
  1. if($_POST['login']){  
  2.         $fnev=$_POST['fnev'];  
  3.         $pass=$_POST['pass'];  
  4.           
  5.         if(!$fnev){  
  6.             echo "<h5>Nincs megadva felhasználónév</h5>";  
  7.             $login=false;  
  8.         }  
  9.         else{  
  10.             $login=true;  
  11.         }  
  12.           
  13.         if(!$pass){  
  14.             echo "<h5>Nincs megadva jelszó</h5>";  
  15.             $login=false;  
  16.         }  
  17.         else{  
  18.             $login=true;  
  19.         }  
  20.         if($login){  
  21.             $pass=md5($pass);  
  22.             $fnev=mysql_real_escape_string($fnev);  
  23.             $ertek=mysql_query("SELECT * FROM user WHERE name='$fnev' AND pass='$pass'");  
  24.             if(mysql_num_rows($ertek)!=1){  
  25.                 echo "<h5>Hibás felhasználónév és/vagy jelszó</h5>";  
  26.                 $login=false;  
  27.             }  
  28.             else{  
  29.                 $login=true;  
  30.             }  
  31.             if($login){  
  32.                 while($sorok=mysql_fetch_array($ertek)){  
  33.                     $fnev=$sorok['name'];  
  34.                       
  35.                     $_SESSION['user']=true;  
  36.                     $_SESSION['fnev']=$fnev;  
  37.                       
  38.                     $now=date("Y-m-d H:i:s", time());  
  39.                       
  40.                     mysql_query("UPDATE user SET visit='$now'");  
  41.                       
  42.                     header("Location: $_SERVER[PHP_SELF]");  
  43.                 }  
  44.             }  
  45.         }  
  46.     }  
Ez pedig az index fájl szükséges része:
  1. include("connect.php");  
  2.     session_start();  
  3.     if(!emptyempty($_SESSION['user'])){  
  4.         $user=true;  
  5.         $fnev=$_SESSION['fnev'];  
  6.         $ertek2=mysql_query("SELECT * FROM user WHERE name='$fnev'");  
  7.         while($sorok2=mysql_fetch_array($ertek2)){  
  8.                     $fnev=$sorok2['name'];  
  9.                     $avatar=$sorok2['avatar'];  
  10.                     $lastvisit=$sorok2['visit'];  
  11.                     $regdate=$sorok2['reg'];  
  12.         }  
  13.     }  
  14.     else{  
  15.         $user=false;  
  16.     }  
És ide akarom beírni:
[colorer=html]
<div class="content">Köszöntünk <?=$fnev;?><br /><img src="avatar/<?=$avatar;?>" /><br />Regisztrált:<br /><b><?=$regdate;?></b><br />Utoljára belépett:

PDF thumbnail készítési hiba

cszlak · 2013. Már. 27. (Sze), 13.33
Olyan problémávl fordulok hozzátok, hogy van egy PDF feltöltöm, amihez szeretnék készíteni egy Thumbnail készítőt.

Ime a kód:
[colorer=php]

include('image.php'); // Image class
include('imagick_class.php'); //Imagic class

if (isset($_POST['up_submit']) ){

$pdfDirectory = "pdf/";
$thumbDirectory = "pdfimage/";

//get tde name of tde file
$filename = basename( $_FILES['pdf']['name'], ".pdf");


//remove all characters from tde file name otder tdan letters, numbers, hyphens and underscores
$filename = preg_replace("/[^A-Za-z0-9_-]/", "", $filename).".pdf";
echo "<p> filename: ".$filename."</p>";
//name tde tdumbnail image tde same as tde pdf file
$thumb = basename($filename, ".pdf");
$thumb = $thumb.".jpg";
echo "<p> thumb: ".$thumb."</p>";
$url = $pdfDirectory.$filename;

echo "<p> Files"; print_r($_FILES); echo"</p>";

if (is_uploaded_file($_FILES['pdf']['tmp_name'])){
if(move_uploaded_file($_FILES['pdf']['tmp_name'], $url)) {

//tde patd to tde PDF file
$pdfWithPath = $pdfDirectory.$filename;

//add tde desired extension to tde tdumbnail

//execute imageMagick's 'convert', setting tde color space to RGB and size to 200px wide

exec("convert \"{$pdfWithPath}[0]\" -colorspace RGB -geometry 200 $thumbDirectory$thumb");

//show tde image
echo "<p><a href=".$pdfWithPath."><img src='pdfimage/".$thumb." alt='' /></a></p>

Mysql - PHP - ID alapján történő párosítás

fetisz · 2013. Már. 27. (Sze), 12.54
Kedves Felhasználók!

Hatalmas problémám akadt amiért már végig googliztam minden létező fórumot és rengeteg variációt meg is próbáltam de megoldást a mai napig nem sikerült találnom, ebben kérném a segítségeteket!

Adott 2 tábla.

Az első táblában a felhasználók adatai találhatók idd ID mezőnév alapján vannak tárolva a sorszámok 1, 2, 3, stb...

A 2. táblában az adott felhasználóhoz tartozó karakterek találhatók itt pedig idAccount mezőnév szerint található az azonosító!
A 2. tábla szerkezete ugyan az mint az első táblának csak más adatok találhatók benne.
Na most azoknál a karaktereknél amik egy felhasználóhoz tartoznak ott a felhasználó első táblában található ID száma található.

Kiíratni sikerült de mindössze 1 karakter ír ki hiába van mondjuk egy felhasználóhoz 3 karakter.
Próbáltam rengeteg variációt amiket a neten találtam de soha nem sikerült 1 karakternél többet kiírni!

Rakok egy példát is az adatbázisról hátha kicsit jobban értelmezhető mint a leírásom.

1. tábla

ID | nev | email |
1 jani valami@
2 peti peti@
3 misi misi@

2. tábla

idAccount | name | pont | id |
1 janikaraktere 12 1
1 jancsika 22 2
3 ez a misi kar. 55 3
3 ez is a misié 114 4


Ez alapján kellene kiíratnom, mintapéldák is jók lennének az is hatalmas segítség lenne.

Én mindent megpróbáltam de lehet valamire nem gondoltam ezért kérem a segítségeteket.
Előre is köszönöm mindenkinek aki segít.

Üdvözlettel:

Tibi