popup ablak

lili_ képe

Drupal 5 alatt dolgozok.

Feladat: Olyan modult szeretnék írni, ami listázza egy adott intézményen belül dolgozó
emberek nevét, címét, telefonszámát, e-mail címét, képét.
Minden adatot adatbázisból nyerek ki.
Hogyan tudnám azt megoldani, hogy elsődlegesen a személy nevét és képét kérdezem le és
jelenítem meg, és a többi adat( az adott személy telefonszáma, e-mail címe) csak akkor jelenne meg ha a személy képére viszem az egeret?

Az adatbázisban van egy szemelyek táblám, oszlopai rendre:
--id
--nev
--cim
--email
--telefon
--kep

megj: sql lekérdezéssel és modul írással nincsen problémám, engem konkrétan a div-es részek érdekelnének..
valami ehhez hasonlót kellene írnom, mint ami http://drupal.hu/forum/adatlap-onmouseover-re olvasható?
csak nálam nem regisztrált felhasználókról van szó!!

lili_ képe

0
0

mini

hosszu.kalman képe

A div-es részek elhelyezkedése konkrétan ugyanaz mint amit a másik témában írtam, de ha nem világos akkor szólj és elmondom újra, másképp, más példán, esetleg ezen a konkrét példán.

Ami viszont engem egy kicsit aggaszt azt maga az adatbázis séma.

Ezt írod:

egy adott intézményen belül dolgozó emberek

Ebben a táblában hol szerepel az intézmény azonosítója? Az intézményeknek kéne egy külön tábla, és az intezmenyek tábla idegen kulcsának is szerepelnie kellene a szemelyek táblában.

+ én a képre kattitáskor nem popup ablakban jeleníteném meg a személy képét, hanem thickbox-ot használva. XXI. század rulez' :-)

Persze könnyen lehet, hogy én értem félre a problémát.

0
0
lili_ képe

majd holnap pontosítom a tábláimat a select utasításomat is...
köszike

0
0

mini

lili_ képe

Én nem popup ablakban szeretném megjeleníteni a képeket, hanem a képre menvén az egérrel egy popup ablakban jelennének meg az adott személyhez tartozó adatok pl. e-mail cím, telefonszám stb.

pontosan ilyet szeretnék:

ha ezt megnézed szerintem érteni fogod.

http://aok.unideb.hu/orgunits/view.rxml?id=1

0
0

mini

hosszu.kalman képe

Én megnéztem amikor írtál akkor is hogy mit szeretnél. Arre írtam hogy a div-ek elhelyezkedése le van írva, de ha valami nem világos akkor leírom újra, vagy másképp.

Az adatbázis sémát viszont alaposan átgondoltad?

0
0
lili_ képe

pontosan ez most az aktuális hogy honnan szedjem le a képeket
adatbázisból
vagy pedig az images mappába töltsem fel őket?
amint ezzel megvagyok jelentkezem!

0
0

mini

hosszu.kalman képe

Ha nem Drupal felhasználók, akkor szerintem az adatbázisban legyen egy mező ami jelöli a kép forrását a tárhelyen.

És az intezmenyek tábla?

0
0
lili_ képe

Van 3 db táblám:

--szervegyseg
--munkakor
--munkakorok
--szemely

szerv_egyseg tábla:
------------------

id: szervezeti egység azonosítója

parent_id: a legtöbb szervezeti egységnek van szülő szervezeti egysége

name_hu: szervezeti egység neve magyarul

name_en: szervezeti egység neve agolul

www: weboldal címe

address: posta cím

phone: telefon száma

fax: fax száma

munkakor oszlopai rendre:
-------------------------

--id : munkakör id-ja

--name_hu: munkakör magyar neve

--name_en: munkakör angol megnevezése

munkakorok oszlopai rendre:
--------------------------

--intezmeny_id :melyik intézményen dolgozik az adott személy és milyen munkakörben,
van ez köti össze a "munkakorok" táblát a "szerv_egyseg" táblával

--szemely_id: ez köti össze a "szemely" táblát a "munkakorok" táblával

--munkakor_id: ez köti össze a "munkakorok" táblát a "munkakor" táblával

--exact_title_hu: munka magyar nyelvű megnevezése

--exact_title_en: a munka angol nyelvű megnevezése

--job_description: a munka magyar nyelvű leírása(mit is csinál)

--job_description_en: a munka angol nyelvű leírása

szemely tábla:
---------------
id: személy id-ja
name: személy neve
email: e-mail címe
phone: telefon száma
phone_ext: mellék száma
fax: fax száma
personal_caller: személyi hivó száma

***********************************************************************

a modulomban írtam egy rekurzív függvényt ami a "szerv_egyseg" táblát dolgozza fel,
megjeleníti az összes szervezeti egységet, annak nevét, e-mail címét, stb.
ezzel nincsen gondom

utána írtam egy olyan függvényt ami megjeleníti az adott szervezeti egységen belül
dolgozó személyeket, annak nevét, telefonszámát, stb

nézd meg itt:

http://php-dev.infocsop.dote.hu/drupaltanulo5/emberek/abc/T

szóval egy-egy emberke tud képet feltölteni ,
a képek nem adatbázisba kerülnek, hanem files/szemelyek/[id] mappába,
az útvonal végén lévő id, az adott személy "szemely" táblában lévő id-számát fogja jelenteni,
vagyis így tudom hogy melyik mappa kié

pl: Teszt Miklós id-ja: 1897, vagyis ő a files/szemelyek/1897 mappába töltheti fel a képét
id-t amúgy látható az URL-ben is

íme a kép feltöltésének megvalósítása:

<?php
/*******************************************************************************/
/*kép / file feltöltése*/
function emberek_kep(){
 
$pp= emberek_pathvars("emberek/kepfeltoltes/");
$id=$pp[0];/*SZEMELY ID*/
 
 
/*ebbe töltöm fel a file-t*/
$kep["ke"] = array(
		"#type" => "file",
		"#title" => t("File"),
		"#description" => t("Kérem töltse fel a képet."),
		"#size" => 40
	);
 
	$kep[] = array(
		"#type" => "submit",
		"#value" => t("Feltöltés"),
		//"#submit" => array("bab_new_for"),
		//"#validate" => array("ics_rapidshare_new_validate")
	);
 
 
	/*FONTOS*/
	/* ha ez kimarad, nem megy a fajlfeltoltes*/
  $kep['#attributes']['enctype'] = 'multipart/form-data';
 
 
 
$kep['#redirect'] = "emberek/abc/adatok/".$id;
 
	return $kep;
 
}
 
 
function emberek_kepfeltoltes(){
 
 
 
$se=drupal_get_form("emberek_kep");
$ra.=$se;
 
$ra.="<br/>"; 
$ra.="<hr/>";
$gu="Vissza a személyekhez";
$ru=l($gu,sprintf("emberek"));
$ra.=$ru;
$ra.="<hr/>";
 
return $ra;
 
}
 
function emberek_kep_submit($form_id, $form_values){
 
 
 
$pp= emberek_pathvars("emberek/kepfeltoltes/");
$id=$pp[0];/*SZEMELY ID*/
 
$egy="files/szemelyek/";
 
/*IDE KELL ELMENTENI A KÉPET*/
$save_path = "files/szemelyek/".$id;
 
/*utvonal vizsgalata*/
/*print($save_path);*/
 
/*HA A FILES/SZEMELYEK/ KÖNYVTÁR HA NEM LÉREZTIK AKKOR LÉTREHOZZA*/
if (file_check_directory($egy, FILE_CREATE_DIRECTORY))
	{
 
	/*HA A FILES/SZEMELYEK/ID KÖNYVTÁR HA NEM LÉREZTIK AKKOR LÉTREHOZZA*/
		if (file_check_directory($save_path, FILE_CREATE_DIRECTORY))
		{
 
		/*EZ MENTI EL A KÉPET, A KÉP NEVE: "KE"
                           UTVONAL:$SAVEPATH
 
    */
			$file = file_save_upload("ke", $save_path);
			/*VALÓBAN FEL LETT - E TÖLTVE A KÉP*/
			/*var_dump($file);*/
 
 
 
 
     }
	}
 
 
 
 
	}
 
 
/*kép megjelenítése ebben a függvényben valósul meg*/
ÉS MOST A KÉRDÉSEM FELÉD?
SZERINTEM AZT A DIV-ES RÉSZ IDE KELLENE, EBBE A FÜGGVÉNYBE BERAKNOM?
AHOL A KÉPET MEGJELENÍTEM NEM-E?
 
 
function emberek_hivas(){
 
$r="";
 
$s=drupal_get_form("emberek_new_form");
$r.=$s;
$r.="<br/>";
$r.="<br/>";
$r.="<hr/>";
$r.="MUNKAKÖRÖK:";
$r.="<hr/>";
$r.="<br/>";
 
$vi = emberek_pathvars("emberek/abc/");/*levágja az url elejéről ami nem kell nekünk*/
$masi = $vi[1]; /* ez tartalmazza az adott szemmély id-ját]*/
$r.="<br/>";
 
 
$tee = array();
$tee[] = array(
  /* itt lehet megadni h  mi szerepeljen majd a fejlécben*/
   array("data" => "Szervezeti egység neve ", "header" => true),
   array("data" => " ", "header" => true),
   array("data" => " ", "header" => true),
   array("data" => "Munkakör ", "header" => true),
   array("data" => " ", "header" => true),
   array("data" => " ", "header" => true),
   array("data" => " ", "header" => true),
   array("data" => " ", "header" => true)
 
   );
 
$mei =sprintf("SELECT m.name_hu as beosztas, s.name_hu as intneve, p.name as embernev, j.szemely_id as szi, j.munkakor_id as mi, j.intezmeny_id as iid FROM munkakorok j LEFT JOIN szemely p ON p.id=j.szemely_id LEFT JOIN munkakor m ON m.id=j.munkakor_id LEFT JOIN szerv_egyseg s ON s.id=j.intezmeny_id where j.szemely_id='%d' " ,$vi[1]);
$neni = db_query($mei);
$szu="";
$szu.="munkakör szerkesztése";
$ruzs="";
$ruzs.="munkakör törlése";
 
while($telei = db_fetch_array($neni)){
 
$tee[]=array(
array("data" => $telei["intneve"]),
array("data"=>"           "),
array("data"=>"  "),
array("data" => $telei["beosztas"]),
array("data"=>"  "),
//$vissza="Vissza a személyekhez";
 
 
 /*ALAPÉRTELMEZETT LEGYEN SELECTBEN KELL*/     
 /*át kell vinni a munkakor tábla szemely_id, intezmeny_id, munkakor_id*/      
     //  $hito.=l($vissza,sprintf("emberek"));
array("data"=>l($szu, sprintf("emberek/munkakorszerkesztese/%d/%d/%d", $telei["szi"], $telei["iid"], $telei["mi"]))),
array("data"=>"  "),
array("data"=>l($ruzs, sprintf("emberek/munkakortorlese/%d/%d/%d", $telei["szi"], $telei["iid"], $telei["mi"])))
 
);
 
 
 
}
$po .= theme("table", NULL, $tee);
$r.=$po;
 
$r.="<br/>"; 
$gue="Új munkakör hozzáadása";
$rue=l($gue,sprintf("emberek/ujmunkakor/%d", $vi[1]));
$r.=$rue;
$r.="<br/>";
$r.="<br/>";
$fele="Kép feltöltése";
$ole=l($fele,sprintf("emberek/kepfeltoltes/%d", $vi[1]));
$r.=$ole;
$r.="<br/>";
 
 
/*kép megjelenítése*/
/*$huh="";
$huh.="tel.jpeg";
$utvonal = "files/szemelyek/".$masi."/".$huh;
 
 
$eror.=theme_image($utvonal, '', '',NULL,TRUE);
$r.=$eror;
*/
 
 
/*KÉP MEGJELENÍTÉSE*/
$when="";
 
/*a könyvtár elérési útja*/
$konyvtar = "files/szemelyek/";
 
/*
 
file_scan_directory
 
Megkeresi a dir-ben rekurzív hívással a maskban lévo fileket, kizárja a keresésbol a nomask-ban lévo könyvtárakat.
  A $callback változóban egy fügvénynevet lehet átadni, ezt a fügvényt végrehajtja minden file-re.*/
 
 
                              /*mi a mappa útja*/ /*milyen típusú file-okat vegyen figyelembe*/
$larges = file_scan_directory($konyvtar.$masi,     ".(png|jpeg|gif)");
 
foreach($larges as $kep){
  $scr_file  =  $kep->filename;
  /*milyen elemeket tartalmaz a $larges tömb*/
 /* var_dump($kep);*/
 /*ez adja vissza képeket */
  $when=theme_image($scr_file, '', '',NULL,TRUE);
  $r.=$when;
  $r.="<br/>";
  $r.="<br/>";
 
 
 
}
 
 
 
return $r;
 
}
?>

NÉZD ITT:

http://php-dev.infocsop.dote.hu/drupaltanulo5/emberek/abc/adatok/1897

AZT KELLENNE MEGOLDANOM, HOGYHA A MEGJELENÍTETT KÉPRE VISZEM AZ EGERET AKKOR
A SZEMÉLY ADATAI MEGJELENJENEK A POPUP ABLAKOCSKÁBAN?

REMÉLEM ÉRTHETŐEN ÍRTAM LE.

lili_, szerkesztettem a hozzászólásod, máskor légyszi használd a kódszínezést (lásd a Beviteli forma c. tájékoztatót a beküldő űrlap alatt). Köszönjük. Illyés Edit

0
0

mini

hosszu.kalman képe

Ez egy elég hosszú válasz lett, munkaidőben nincs időm átnézni. Hétvégén megnézem gondolom ráér addig.

0
0
lili_ képe

ráér közben foglalkozom mással de addig is átnézem majd a korábbi hozzászólást is
hátha én is rájövök valamire
nagyjából érthető volt?
vagy fogalmazzam át jobban mit is szeretnék?

0
0

mini

hosszu.kalman képe

Hirtelen átfutottam, szerintem érthető lesz. Ha valami nem világos úgyis szólok!

0
0
lili_ képe

nem vagyok türelmetlen csak érdekelne, hogy fogsz tudni benne segíteni?
az a baj h javascripttel is próbálkozom már de ahhoz el kell kezdenem megtanulni legalább az alapokat:( de nem baj csak idő kell hozzá...
majd folyamatosan nézegetem h mi újság van
köszike mindent előre is

0
0

mini