ugrás a tartalomhoz

Két adatbázis tábla használata szűretlen adatok kezelésére

Anonymous · 2006. Jún. 20. (K), 10.57
A probléma a következő:


van egy weblap amin egy kérdőív található
a kitöltött kérdőív értékei egy adatbázisba kerülnek! de ez az adatbázis még szűrés előtt van és nem akaromk hogy egyböl megjelenjen a weblapon ezért el akarom küldeni innen egy másik adatbázisba a lekérdezést ami táblázatban van, de soronként,
röviden és érthetően: :-)

2 tábla van (táblánként 7 mező)
az egyiket kilistázom táblázatba és a véhén akarok egy submitot vagy egy checkboxot amit bejelölve továbbküldhetek a másik táblába!


lécci segitsetek mert sürgős!
 
1

Miért 2 tábla?

Poetro · 2006. Jún. 20. (K), 11.05
Nem lenne egyszerűbb, ha egy táblában tárolnád az adatokat, és ott lenne egy mező, ami jelzi hogy publikálva van-e?
Persze a megjelenítésnél csak azokat kell lekérdezni, amik publikálva vannak.
2

nemtom

Anonymous · 2006. Jún. 20. (K), 11.08
nem nagyon értek ehhez az egészhez
a lényeg hogy van egy publikus és egy nem publikus lekérdezésem
a weblapról formjából bevitt adatokat szürnöm kell a nem publikus táblában, avagy onnan kell továbbküldenem a publikusba!

hogyan kell publikussá tennni???? és nem publikussá???

segits ha tudsz
3

miért csinálsz ilyet, ha nem értesz hozzá?

Táskai Zsolt · 2006. Jún. 20. (K), 11.24
bár nem tudom, hogy mit értesz az alatt, hogy "nem nagyon".

szóval ki kell listáznod egy ciklusban a publikálatlan adatokat. a két megoldás szerint egy WHERE nélküli SELECT, másik esetben értelemszerűen csak a publikálatlanokat.
a listázáskor mindegyik mellé teszel egy checkboxot, aminek a neve összefüggésbe hozható az adatrekord ID-jével/kulcsával.
a feldolgozáskor végigmész az adatokon, és egy UPDATE-tel átállítod a publikáltsági flag-et becsekkeltekre, a többit meg vagy törlöd, vagy egy harmadik értékre állítod (hogy többet ne kérdezzen róla).

lényegében ennyi. ha az SQL nem megy, akkor keress a MySql doksiban a fenti nagybetűs kulcsszavakra. ha a PHP nem megy, akkor php.net, és tanulás. ha egyik sem, jobb lesz mással csináltatni...

jó munkát,
Tasi
4

köszi a segítséget

Anonymous · 2006. Jún. 20. (K), 11.30
itt aforráskódom de nem tudom hol a hiba:
<?php
$keres ="SELECT * FROM  dringatlan2";

print"<table border='1' <th><td><strong>Sorszám</strong></td><td><strong>Ingatlan címe</strong></td><td><strong>Ingatlan ára</strong></td><td><strong>Bérleti díj</strong></td><td><strong>Elérhetőség</strong></td><td><strong>Megjegyzés</strong></td><td><strong>Mehet tovább</strong></td></th>\n";
$eredmeny=mysql_query($keres) or die("Nincs a keresési feltételnek megfelelő adat");
//eredmeny kiiratása html ben

$szam=0;

while ($line =mysql_fetch_array($eredmeny, MYSQL_ASSOC)) {
$szam=$szam+1;

print "\t<tr>\n";
foreach ($line as $egy_oszlop)
{
print "\t<td>$egy_oszlop \n";
}
print "\t<form><input type=submit value=elküld ></form></tr>";
$parancs02 = mysql_query("insert into dringatlan $line values ('$line')");                   

}

print "</table>\n";
print "ok";   
print "</table>";

?>
6

itt több hiba is van

Táskai Zsolt · 2006. Jún. 20. (K), 11.38
1. a table elem nyitóeleme nincs befejezve
2. miért van 2 záróelem a table-höz?
3. minden sorba teszel egy úgy formot és submit gombot, pedig oda csak egy-egy checkbox kéne. ugyanis a submitre elhagyja az oldalat a böngésző. a végére viszont kéne egy submit.
4. a parancs02 majd a feldolgozó PHP-ban kell, hogy legyen. gondolj bele, hogy hogyan is működik egy form. vagy olvass róla kicsit a HTML doksiban.

még gondolkozz kicsit, és olvasd el még egyszer, amit írtam fentebb. az egy (de nem az egyetlen) járható út.

Tasi
9

vak vezet világtalant

ifrozen · 2006. Jún. 20. (K), 12.00
a mysql_query-nek szerintem kell a kapcsolatot jelképező változó is:

mysql_query($parancs,$kapcsolat);

imho...
19

nem kötelező - ld. manual

zsepi · 2006. Jún. 20. (K), 12.31
resource mysql_query ( string query [, resource link_identifier] )

mysql_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If link_identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if mysql_connect() was called with no arguments, and use it. The result of the query is buffered.

kiemelés tőlem
5

miért csinálok ilyet?????

Anonymous · 2006. Jún. 20. (K), 11.33
mert a perverz humorú főnökömnek ez a mániája, hiába mondtam neki hogy én nem értek hozzá azt a választ kaptam hogy "oldd meg"
odáig fajult a dolog hogy már a kirúgással fenyegetőzik, habár az adatbázis már müxik meg a weblap is, de az adminfelület nem megy :-(
7

szegény!!!

Táskai Zsolt · 2006. Jún. 20. (K), 11.40
hát sajnállak. de rá kellett volna beszélni egy outsourcingra. már ha ez emberileg lehetséges. mármint a meggyőzés.
nehéz ügy...
8

háát nem is tom

Anonymous · 2006. Jún. 20. (K), 11.57
A checkboxokat jó lett volna alkalmazni de ott a végén össze kellene fűznöm őket, előbb az egyszerű felét akartam megcsinálni, miven minden sorban van egy submit, ezért ugy gondolom hogy ha rákattanok akkor csak az adott sort küldi és nem kell szűrögetnem mivel ez tömbben van!
asszem legalábbis...
10

és így?

Anonymous · 2006. Jún. 20. (K), 12.00
<?php

$kapcsolat=mysql_connect("localhost", "******", "*******")
or die("Nem tudok kapcsolódni");

mysql_select_db("doxabi") or die ("Nem sikerült kiválasztani az adatbázist");

print "<table><tr><form method=post action='$php_self'>";

//sql kérés

$keres ="SELECT * FROM  dringatlan2";

print"<table border='1' <th><td><strong>Sorszám</strong></td><td><strong>Ingatlan címe</strong></td><td><strong>Ingatlan ára</strong></td><td><strong>Bérleti díj</strong></td><td><strong>Elérhetőség</strong></td><td><strong>Megjegyzés</strong></td><td><strong>Mehet tovább</strong></td></th>\n";
$eredmeny=mysql_query($keres) or die("Nincs a keresési feltételnek megfelelő adat");
//eredmeny kiiratása html ben

$szam=0;

while ($line =mysql_fetch_array($eredmeny, MYSQL_ASSOC)) {
$szam=$szam+1;

print "\t<tr>\n";
foreach ($line as $egy_oszlop)
{
print "\t<td>$egy_oszlop \n";
}
print "\t<form><input type=submit value=elküld ></form></tr>";
$parancs = "UPDATE dringatlan SET * WHERE 1";        

}

print "</table>\n";
print "ok";   
print "</table>";

?>
12

a szén is csak csiszolatlan gyémánt...

ifrozen · 2006. Jún. 20. (K), 12.09
Háát, szerintem átláthatatlan a kód, de lehet hogy csak az én szemem nem elég jó hozzá.

1, még mindig 2x van </table> és nem értem miért...
2, változó neve nem épp a leglogikusabb: $egy_oszlop...
3, a foreach résznél miért nem zárod le a td-t? mindig csak új <td>-t nyitsz amit sehol nem zársz le...

háát röviden ennyi... csatlakozom az előttem szólókhoz: gondold át mégegyszer: nulláról..

ja és forgasd a PHP 24 óra alattot... asszem 12. fejezet :D

ifrozen...
15

válaszolok helyette

Táskai Zsolt · 2006. Jún. 20. (K), 12.13
1. kettőt is nyit, most már látszik, ez nem baj
2. önmagában ez sem baj, nyilván
3. sima HTML-ben ez sem baj éppen...

ha nem 3 óra múlva államvizsgáznék, többet segíthetnék:)
17

köszi

Anonymous · 2006. Jún. 20. (K), 12.17
sok sikert a vizsgádhoz,
18

sok sikert

ifrozen · 2006. Jún. 20. (K), 12.26
1, és szerinted ez egy elit megoldás?
2, nyilván nem... viszont mivel ő mondta hogy nem ért hozzá ez komoyl félreértésre adhat okot szerintem.
3, háát... ebbe nem tudok beleszólni de sztem a validitástól elég messze állunk evvel....

ifrozn
14

kapkodsz

Táskai Zsolt · 2006. Jún. 20. (K), 12.11
áll már meg egy pillanatra. csak nem harapják le a fejed 16:00-kor. előszöris nem HTML-t generálsz. még mindig nem jó a table tag. a sornkénti formot nem rakod cellába (td) - bár mivel nem zártad le az utolsót, így abba bekerül...

másrészt ki fogja feldolgozni a küldött adatokat? mondom: nézd meg, hogy egy form hogyan működik. elküldi valamilyen URL-re az eredményt. mi az url? mi az eredmény. ha már ezt az utat járod, akkor minden formba kéne egy hidden mező, amiben az ID van. aztán adj meg egy action-t, és az ott megadott PHP-be tedd az INSERT-et. ebben a felállásban az UPDATE nem jó, főleg meg nem így.

hajrá,
Tasi
16

köszike

Anonymous · 2006. Jún. 20. (K), 12.16
az a baj hogy csak azt mondod mit nem csináltam és nem azt hogy mit kéne módosítanom, még csak tanulgatom az sql-t és a php-t ugyhogy konyhanyelven ha lehet! ha megtennétek hogy visszaküldenétek a JÓforrást ráérős időtökben, akkor nagyon hálás lennék!
20

itt mindenki jószándékú a maga módján

ifrozen · 2006. Jún. 20. (K), 12.37
... mégtalán én is ... (???) :)

... csak nem szeretnek szájbarágni: megmondják hogy hol a hiba szerintük.
Tegnap énis fetch_arrayt irtam fetch_row helyett... =#> mégis rájöttem magamtól...

szeirntem menj ki a konyhába: csinálj valamit amit szeretsz és evés közben gondolkozz el hogy mi is az egyes változók pontos útja (ezt hivják debugolásnak :) :) :) ) (amit én utálok)

1, a while feltételében nem mysql_fetch_array hanem mysql_fetch_row lenne... (és arra foreacholnék amivel egyes cellákat kapnék meg és nem az egész táblát.

2, megmondanám a formnak hogy mit csináljon ha elküldöd....

...

szóval én ezt úgy ahogy van újrakezdeném úgy, hogy régit nem nézem hozzá... tele van apró de fontos hibákkal amik egymásra épülnek = ha az egyiket kijavitod még minidg marad egy csomó...

bocs de többet nem tudok segiteni én sem... :( sorreyyyyy
11

ami volt elmúlt

ifrozen · 2006. Jún. 20. (K), 12.02
röviden: már beszoptad :(

innen már csak annyit tudsz tenni hogy megcsinálod amit kér. Megértelek, én se értek annyira hozzá (mármint semennyire szerintem - de ki tudja) mégis nekifeküdtem és már majdnem kész.

ifrozen
13

ifrozennek

Anonymous · 2006. Jún. 20. (K), 12.09
köszi a megállapítást, lehet hogy beszoptam , de ha nem lenne így akkor nem kérnék itt segítséget!
én csak annyit kérek hogy ha valaki ért hozzá egy kicsit akkor mondja meg hogy hol a baj a forrásban, és ha nem sok időt vesz igénybe akkor küldje el a javított részt

köszi
21

sokat.

ifrozen · 2006. Jún. 20. (K), 12.39
számomra sok idő de vannak pro-k akik kb 2 perc alatt összerakják neked ezt... :)
22

hol vannak

Anonymous · 2006. Jún. 20. (K), 13.02
hol vannak ilyen profik????????
nekem sos-be kell , nem kérném ha nem lennék szarba!

sajnos nem küldhetem el a teljes forrást mert ez ipari titoknak számít
az elküldött forrást én átírom ha küld valaki egy mintát,
szóval a dringatlan tábla kilistázott adatait adatait akarom a dringatlan2 -re átküldeni de soronként, szóval meg akarom szürni.
23

Profi

Poetro · 2006. Jún. 20. (K), 13.23
Remélem azért sejted, mit jelent az, hogy profi!
Azaz profitért csinálja, azaz anyagi befektetés ellenében. Sajnos ingyen nem sok minden van, segítünk, de azért nem csináljuk meg helyetted. Remélem érted mire gondolok.
24

nem értem

Anonymous · 2006. Jún. 20. (K), 13.53
én nem kértem hogy helyettem csinálja meg bárki is!
én nem egy portált akarok megcsináltatni, hanem csak egy kis oldalt max 20 sor az egész , de ugy látom hogy sokan vannak(tisztelet a kivételnek) akik csak arcal rendelkeznek és nagyképűsködve lenézik a másikat, pedig ha értenének hozzá akkor 10 peret venne igénybe végülis egy függvény az egész, de látom ez sokmindenkin kifog :-\
25

Ahogy én csinálnám

Poetro · 2006. Jún. 20. (K), 14.17

<?php
require_once "HTML/Table.php";

$keres ="SELECT * FROM  dringatlan2";
/*
ha csak a publikáltak kellenek:

$keres ="SELECT * FROM  dringatlan2 WHERE published = 1";
*/

/*
ha csak a nem publikáltak kellenek:

$keres ="SELECT * FROM  dringatlan2 WHERE published = 0";
*/


$eredmeny=$db->query($keres);
if(!PEAR::isError($eredmeny)) {
	//eredmeny kiiratása html ben

	$table = new HTML_Table();
	$table->setAutoGrow(true);
	$table->setAutoFill("n/a");
	$theaders = array('Sorszám', 'Ingatlan címe', 'Ingatlan ára', 'Bérleti díj', 'Elérhetőség', 'Megjegyzés', 'Mehet tovább');
	$thead =& $table->getHeader();
	foreach($theaders as $num=>$val) {
		$thead->setCellContents(0, $num, $val, 'th');
	}
	$tbody =& $table->getBody();
	while($row = $res->fetchRow(DB_FETCHMODE_ORDERED)) {
		$tbody->addRow($row);
	}
	$table->display();
}
else {
	print("Nincs a keresési feltételnek megfelelő adat");
}
?>
27

thanks

Anonymous · 2006. Jún. 21. (Sze), 08.28
Köszi Poetro ezt megpróbálom!
28

??

Anonymous · 2006. Jún. 21. (Sze), 09.39
A table.php mit csinál? azt nem értem...
29

PEAR csomag

Táskai Zsolt · 2006. Jún. 21. (Sze), 10.01
a PEAR-ben az kezeli a táblázatokat. a fenti megoldás erősen támaszkodik erre. neked tényleg jó lenne, mert a táblázatod szabálytalanságait kisimítaná...
30

help

Anonymous · 2006. Jún. 21. (Sze), 10.11
segítessz nekem?
megnézed a lapot?
mert nem igazodok el rajta
26

Pedig érthetnéd

Anonymous · 2006. Jún. 20. (K), 14.22
Dehogynem! Több helyen is írtad, hogy küldjünk neked kész forrást!
És ahogy már írták fentebb a profik nem foglalkoznak ezzel, hogy csak úgy kedvtelésből kezdőkenk írogassanak mindenféle kódokat...

EdEm