Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] wyciągnięcie id z bazy za pomocą petli
reyne
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

Ostrzeżenie: (0%)
-----


Witam wszystkich,
Otóż mam w MySQL tabelkę "grupy"

W pliku php, który wyświetla grupy z tej tabelki w pętli, mam pod każdymi danymi grupy button "dołącz do grupy".

No i oczywiście działa mi ładnie pięknie - kiedy wcisnę przycisk dodaje użytkownika do tej grupy.

Ale teraz mam problem, co zrobić żeby po dodaniu ten przycisk zniknął u usera i pojawił się np przycisk "usuń mnie z grupy" (który też wiem jak zrobić). Chodzi mi tylko jaki warunek napisać, żeby wyświetlił się ten albo ten button?

Myślałem nad pętlą for, która sprawdzała by po prostu czy w tabeli danej grupy nie ma id użytkownika.

Problem właśnie polega na tym że w tabeli grupy może być więcej niż jeden user więc trudno mi będzie porównać np pole "czlonek_grupy" do id usera zalogowanego.

Od początków jestem samoukiem, mam nadzieję że ktoś zrozumiał o co mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował nospor 20.12.2007, 11:05:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
reyne
post
Post #2





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

Ostrzeżenie: (0%)
-----


tabela grup


CREATE TABLE `mk_groups` (
`group_id` tinyint(3) unsigned NOT NULL auto_increment,
`group_name` varchar(100) NOT NULL default '', //nazwa grupy
`group_description` varchar(200) NOT NULL default '', //opis grupy
`group_avatar` varchar(100) NOT NULL default '0', //obrazek
PRIMARY KEY (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;


a w tej tabeli poniżej zapisuje mi użytkowników

CREATE TABLE `mk_groups_joined` (
`join_id` tinyint(5) unsigned NOT NULL auto_increment,
`group_id` tinyint(5) NOT NULL, // id grupy
`join_user` tinyint(5) NOT NULL, // zapisuje id usera ktory sie podlaczyl
`join_name` varchar(30) NOT NULL, //zapisuje imie usera (malo istotne)
PRIMARY KEY (`join_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;


Skrypt przedstawiony poniżej wyświetla mi grupy i button "dodaj mnie do grupy" i jest on pisany pod extreme-fusion 4.10

<?php

/* MOD grupy */


require_once "maincore.php";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."members-profile.php";
include LOCALE.LOCALESET."user_fields.php";
if (file_exists(LOCALE.LOCALESET."members-profile-mod.php")) {
include LOCALE.LOCALESET."members-profile-mod.php";
} else {
include LOCALE."English/members-profile-mod.php";
}


if (iMEMBER) {
if (isset($_GET['lookup']) && isNum($_GET['lookup'])) define('lookup', $_GET['lookup']);
if (isset($_GET['group_id']) && isNum($_GET['group_id'])) define('group_id', $_GET['group_id']);


$result = dbquery("SELECT * FROM mk_groups LIMIT 0 , 30");
while ($dgdata = mysql_fetch_array($result))
if (isset($_POST['join'])) {
$wynik = dbquery("INSERT INTO ".$db_prefix."groups_joined VALUES ('', '".$dgdata['group_id']."', '".$userdata['user_id']."', '".$userdata['user_name']."')");
}

if ($wynik) {
echo "<font size='3'>Zapisano do grupy!</font>";
}
if (isset($_POST['unjoin'])) {
$wynik2 = dbquery("DELETE FROM ".$db_prefix."groups_joined WHERE join_user='".$userdata['user_id']."'");
}

if ($wynik2) {
echo "<font size='3'>Wypisano z grupy!</font>";
}
opentable("Grupy");
echo "<table><tr><td class='tbl7'>Oto dostępne grupy, stwórz własną i zapraszaj
innych.<br>
Opcje: <a href='grupy_dodaj.php'>dodaj grupę</a></td></tr></table>";
closetable();
opensidex("Lista");
echo "<table width='100%'>";


$result = dbquery("SELECT * FROM mk_groups LIMIT 0 , 30");
while ($gdata = mysql_fetch_array($result)) //robi z tabeli tablice grupy
{

$zapytanie = dbquery("SELECT * FROM mk_groups_joined WHERE group_id='".$gdata['group_id']."'");
$udata = mysql_fetch_array($zapytanie);

echo "<tr><td class='tbl1' rowspan='2'><img src='images/grupy/".$gdata['group_avatar']."' width='100' height='100'></td><td class='tbl2' width='100%'><font size='4'>".$gdata['group_id'].". ".$gdata['group_name']."</font></td></tr><tr><td class='tbl2'>".$gdata['group_description']."</td></tr><tr><td class='tbl2' colspan='2'>Należą: ".$udata['join_user']."</td></tr><tr><td class='tbl2' colspan='3'>";
echo "<form id='form' name='userform' method='post' action='".FUSION_SELF."'>";

if (warunek)
{
echo "<input type='submit' name='unjoin' value='wypisz się' class='button'>";
} else {
echo "<input type='submit' name='join' value='dołącz się' class='button'>";
}
echo "</form><hr></td></tr>";
}

echo "</table>";
}
closesidex();
require_once "side_right.php";
require_once "footer.php";
?>


a tak to wygląda na "żywca"


(IMG:http://www.mkoszalin.eu/tabe.jpg)

Ten post edytował reyne 20.12.2007, 00:23:31
Go to the top of the page
+Quote Post

Posty w temacie
- reyne   [php] wyciągnięcie id z bazy za pomocą petli   19.12.2007, 23:56:25
- - slash^   bedzie latwiej cos poradzic jezeli pokazesz strukt...   20.12.2007, 00:04:32
- - reyne   tabela grup CREATE TABLE `mk_groups` ( ...   20.12.2007, 00:16:49
|- - Nattfarinn   Kod$zapytanie = dbquery("SELECT * FRO...   20.12.2007, 08:38:31
- - reyne   Niestety wyskakuje mi błąd podczas kompilacji Pa...   20.12.2007, 09:19:03
- - nospor   rety, brakuje ")". Ty nie kopiuj bezmysl...   20.12.2007, 09:44:41
|- - Nattfarinn   Cytat(nospor @ 20.12.2007, 09:44:41 )...   20.12.2007, 10:23:47
|- - Nattfarinn   Cytat(Nattfarinn @ 20.12.2007, 10:23...   20.12.2007, 10:42:05
- - reyne   no nie dojrzałem pętla działa ale w taki sposó...   20.12.2007, 10:00:24
- - reyne   niestety dalej jest tak samo, w takim razie nie wi...   20.12.2007, 10:36:07
- - nospor   @reyne przeciez ty nic nie zmieniles. Jak przypis...   20.12.2007, 10:40:00
- - reyne   no dobra, prawie gotowe (co ja bym bez Was zrobi...   20.12.2007, 10:57:18
- - nospor   Cytatdodaje tyle razy ile jest grupKurcze... i jes...   20.12.2007, 11:04:24
- - reyne   dobra, bez nerwów zrobiłem i to i usuwanie, jes...   20.12.2007, 11:14:39
- - Nattfarinn   Jak korzystasz z tego co ja wkleiłem ($users_...   20.12.2007, 11:26:13
- - reyne   śmiga dzięki za pomoc! no i je...   20.12.2007, 11:44:31
- - Nattfarinn   Nie rozumiem za bardzo o co Ci w tym momencie chod...   20.12.2007, 11:58:24
- - reyne   czyli za pomocą zapytań SQL! już sobie poradzę...   20.12.2007, 12:02:59


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 19:11