Nie dodaje danych do bazy o wybranym id
|
krystian1988 |
Dodany dnia 11.10.2014 11:16:56
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Witam, otó? mam problem od paru dni.
Chodzi o to ?e robi? ma?y skrypt dla znajomego i problem mam taki ?e nie dodaje mi rekordów do bazy danych.
Bardziej rozwijaj?c moj? my?l chodzi o to ?e dodaje mi do bazy rekord ale nie do id wybranego projektu.
Zamieszczam kod php:
<?php
error_reporting(E_ALL);
include 'config.php';
db_connect();
check_login();
$user_data = get_user_data();
//$projekt = get_projekt();
include 'ank.php';
//dodanie ilosci punktow usera bez odliczania... $error :D
echo '<p>Witaj <b>'.$user_data['user_name'].'</b>!</p>
<p>Twoja liczba punktów któr? mo?esz wykorzysta?: <font color="red"><b>'.(empty($user_data['user_pkt']) ? '0' : $user_data['user_pkt']).'</b></font></p>
<p>[<a href="profile.php?id='.$user_data['user_id'].'">Wy?wietl swój profil</a>] [<a href="editprofile.php">Edytuj profil</a>] [<a href="userlist.php">Lista u?ytkowników</a>] [<a href="logout.php">Wyloguj si?</a>]</p>
<h4>Kto mo?e odda? g?osy na projekty:</h4>
Tre?? wklepana do pliku
<h4>Instrukcja:</h4>
Tu to samo co wy?ej :)';
// ustawiamy ile ma by? wyników na 1 strone
//dodawanie pkt
if (isset($_POST['add']) || isset($_GET['projekt_id'])) {
// filtrujemy dane
$add = $_POST['add'];
// zmienne tymczasowe na tre?? b??du
$err = '';
// i zapytanie sql
$up2 = '';
//$result2 = mysql_query("SELECT * FROM `projekt`");
//$result2 = mysql_query("SELECT Count(projekt_id) FROM `projekt`");
//$row1 = mysql_fetch_row($result2);
//echo '<br /><br />';
$result3 = mysql_query("SELECT projekt_id FROM `projekt`");
while($row1 = mysql_fetch_assoc($result3)) {
// je?li s? jakie? b??dy z powy?szych dzia?a? to je wy?wietlamy
if(!empty($err)) {
echo $err;
} else {
// je?li nie ma b??dów to wykonujemy zapytanie dopisuj?c te na aktualizacje
$pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = projekt_pkt+'".$add."' WHERE `projekt_id` = '".$row1['projekt_id']."'");
$pytanie = mysql_query("UPDATE `users` SET `user_pkt` = user_pkt-'".$add."' WHERE `user_id` = '".$user_data['user_id']."'");
if($pytanie) {
// je?li zapytanie si? wykona?o to wy?wietlamy komunikat...
echo '<p>Punkty zosta?y przyznane</p>';
// i pobieramy od nowa dane usera aby w poni?szym formularze si? one zaktualizowa?y
//$projekt = get_projekt();
} else {
// je?li zapytanie b?dzie b??dne to wy?wietlamy tre?? errora
echo '<p>Niestety wyst?pi? b??d:<br>'.mysql_error().'</p>';
}
}
}
}
$per_page = 10;
// obliczamy ilo?? stron
$pages = ceil($per_page);
// aktualna strona - je?li nie zosta?a podana to = 1
// je?li zosta?a podana to filtrujemy j? i rzutujemy na int
$current_page = !isset($_GET['page']) ? 1 : (int)clear($_GET['page']);
// je?li kto? poda stron? mniejsz? ni? 1 lub wi?ksz? ni? ilo?? stron to zmieniamy j? na 1
if($current_page < 1 || $current_page > $pages) {
$current_page = 1;
}
$result1 = mysql_query("SELECT * FROM `projekt` ORDER BY `projekt_id` ASC LIMIT ".($per_page*($current_page-1)).", ".$per_page);
while($row = mysql_fetch_assoc($result1)) {
echo '<h2>'.$row['projekt_title'].'</h2>
'.$row['projekt_opis'].' <br /><br />
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="'.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'" aria-valuemin="0" aria-valuemax="100" style="width: 100%;"><span class="sr-only">'.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'</span>
</div>
</div>';
echo '<p>Punkty przyznane Projektowi: '.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'</p>';
}
$zero = $user_data['user_pkt'] == 10 ;
if($zero > 0 ) {
echo '<form method="post" name="add" action="index.php">
<p>
<input type="text" name="add" maxlength="1">
</p>
<input type="submit" name="add" data-role="button" data-icon="plus" value="Dodaj punkty">
</p>
</form>';
} else {
echo 'Wykorzystana zosta?a Twoja ca?a pula dost?pnych punktów.';
}
echo ' <a href="logout.php" data-role="button" data-icon="power">Wyloguj</a>
</div>
</div>';
db_close();
?>
Je?li mam dodane dwa projekty dodaje mi do obu projektów wybran? ilo?? punktów.
Bardzo bym prosi? o jak?? pomoc i bardzo z góry dzi?kuj?.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
W?cibski Go?? |
Dodany dnia 06.09.2025 14:38:23
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Piotrroger |
Dodany dnia 11.10.2014 14:21:53
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Dodaje do nie tego projektu, czyli? Do id wy?szego, mniejszego? Czy zmienna $row1['projekt_id'] ma na pewno ten id, którego updatujesz?
|
|
|
|
krystian1988 |
Dodany dnia 11.10.2014 19:00:17
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
W?a?nie o to chodzi bo jak zrobi? w zapytaniu o id to mam b??d dlatego prosz? o jak?? pomoc bo jest mi to bardzo potrzebne na wczoraj. Jak wspomnia?em w pierwszym po?cie po update dodaje mi do wszystkich projektów a nie do tego co powinno i nie wiem jak to rozgry?? a wiem ?e pewnie chodzi o to jedno banalne zapytanie do SQL o co prosz? Was.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 12:17:50
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
$result3 = mysql_query("SELECT projekt_id FROM `projekt`");
W tym momencie pobierasz wszystkie projekt_id z tabeli projekt. Potrzebujesz tylko jedno id, prawda? Musisz zatem zaw?zi? wyszukiwanie do jednego wiersza. Nie znam struktury bazy, wi?c tym bardziej ci??ko mi okre?li? do którego wiersza. Jedno jest pewne - brakuje Ci tutaj zapewne warunku WHERE.
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 12:48:44
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Chodzi o to ?e wy?wietla poprawnie projekty ale nie dodaje do danego projektu prawid?owo ilo?ci punktów.
Teraz jak daj? 1 pkt do projektu np. 3 (mam ich 9) to dodaje mi automatycznie do wszystkich jakie mam.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 13:27:37
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
No pisz? Ci, ?e ?le pobierasz id_projektu, który potem updatujesz.
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 13:32:26
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Zaktualizowa?em i nadal mam b??d w tej linii:
id = $_POST['id'];
$result3 = mysql_query("SELECT projekt_id FROM `projekt` WHERE projekt_id='".$id."'");
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 13:40:37
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Przepraszam, ale po co pobierasz id, które ju? masz w zmiennej? Abstra[cenzura]?c od tego, ?e wró?bit? nie jestem i jaki b??d Ci wyskakuje - nie mam poj?cia, to ten SELECT jest zupe?nie nie potrzebny, bo zmienna $id (przed id zapomnia?e? znaczek $) to w?a?nie Twoje projekt_id
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 13:44:52
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Zapomnia?em doda? ale mam ten owy znaczek ale pomimo to nie dzia?a.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 13:49:42
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Lodówka mi nie dzia?a, mo?e znasz przyczyn?? Widzisz zale?no??? Musisz pisa? co nie dzia?a, jak nie dzia?a - jakie b??dy wyskakuj?. Inaczej to wró?enie z fusów :)
Zostaw t? zmienn? $id, usu? tego selecta pod nim i zamie?
$pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = projekt_pkt+'".$add."' WHERE `projekt_id` = '".$row1['projekt_id']."'");
na $pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = `projekt_pkt`+'".$add."' WHERE `projekt_id` = '".$id."'");
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 14:10:19
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Nic si? nie zmieni?o poza tym ?e odejmuje mi od usera pkt.
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 14:17:59
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Pan Kolega chyba sam nie wie co w tym kodzie ma :)
zamie? na:
$pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = `projekt_pkt`+'".$add."' WHERE `projekt_id` = '".$_GET['projekt_id']."'");
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 15:18:36
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Dalej nie dzia?a i mam b??d który pokazuje:
projekt_id
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 15:44:39
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
To na pewno nie jest ca?y b??d, który si? pokazuje.
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 17:53:02
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Prosz? ca?a tre??:
Notice: Undefined index: projekt_id in /home/virt104695/domains/*****************/index.php on line 33
Notice: Undefined index: projekt_id in /home/virt104695/domains/*****************/index.php on line 55
Linia 33:
$id = $_POST['projekt_id'];
oraz 55:
$pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = projekt_pkt+'".$add."' WHERE `projekt_id` = '".$_GET['projekt_id']."'");
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 18:03:37
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Zacznijmy od tego, w jaki sposób przekazuj? sobie id projektu? POST czy GET?
|
|
|
|
krystian1988 |
Dodany dnia 13.10.2014 18:46:12
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
W?a?nie przez GET bo robi?em na zasadzie tego co mam w profilu i tam mam przez GET i nie dzia?a i robi?em przez POST i odwrotnie i nie zapisuje i dlatego mnie to g?owi...
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 13.10.2014 18:56:46
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
<?php
error_reporting(E_ALL);
include 'config.php';
db_connect();
check_login();
$user_data = get_user_data();
//$projekt = get_projekt();
include 'ank.php';
//dodanie ilosci punktow usera bez odliczania... $error :D
echo '<p>Witaj <b>'.$user_data['user_name'].'</b>!</p>
<p>Twoja liczba punktów któr± mo?esz wykorzysta?: <font color="red"><b>'.(empty($user_data['user_pkt']) ? '0' : $user_data['user_pkt']).'</b></font></p>
<p>[<a href="profile.php?id='.$user_data['user_id'].'">Wywietl swój profil</a>] [<a href="editprofile.php">Edytuj profil</a>] [<a href="userlist.php">Lista u?ytkowników</a>] [<a href="logout.php">Wyloguj si?</a>]</p>
<h4>Kto mo?e odda? g?osy na projekty:</h4>
Tre? wklepana do pliku
<h4>Instrukcja:</h4>
Tu to samo co wy?ej :)';
// ustawiamy ile ma by? wyników na 1 strone
//dodawanie pkt
if (isset($_POST['add']) || isset($_GET['projekt_id'])) {
// filtrujemy dane
$add = $_POST['add'];
// zmienne tymczasowe na tre? b??du
$err = '';
// i zapytanie sql
$up2 = '';
//$result2 = mysql_query("SELECT * FROM `projekt`");
//$result2 = mysql_query("SELECT Count(projekt_id) FROM `projekt`");
//$row1 = mysql_fetch_row($result2);
//echo '<br /><br />';
//$result3 = mysql_query("SELECT projekt_id FROM `projekt`");
//while($row1 = mysql_fetch_assoc($result3)) {
// jeli s± jakie b??dy z powy?szych dzia?a? to je wywietlamy
if(!empty($err)) {
echo $err;
} else {
// jeli nie ma b??dów to wykonujemy zapytanie dopisuj±c te na aktualizacje
$pytanie = mysql_query("UPDATE `projekt` SET `projekt_pkt` = projekt_pkt+'".$add."' WHERE `projekt_id` = '".$_GET['projekt_id']."'");
$pytanie = mysql_query("UPDATE `users` SET `user_pkt` = user_pkt-'".$add."' WHERE `user_id` = '".$user_data['user_id']."'");
if($pytanie) {
// jeli zapytanie si? wykona?o to wywietlamy komunikat...
echo '<p>Punkty zosta?y przyznane</p>';
// i pobieramy od nowa dane usera aby w poni?szym formularze si? one zaktualizowa?y
//$projekt = get_projekt();
} else {
// jeli zapytanie b?dzie b??dne to wywietlamy tre? errora
echo '<p>Niestety wyst±pi? b?±d:<br>'.mysql_error().'</p>';
}
}
//}
}
$per_page = 10;
// obliczamy ilo? stron
$pages = ceil($per_page);
// aktualna strona - jeli nie zosta?a podana to = 1
// jeli zosta?a podana to filtrujemy j± i rzutujemy na int
$current_page = !isset($_GET['page']) ? 1 : (int)clear($_GET['page']);
// jeli kto poda stron? mniejsz± ni? 1 lub wi?ksz± ni? ilo? stron to zmieniamy j± na 1
if($current_page < 1 || $current_page > $pages) {
$current_page = 1;
}
$result1 = mysql_query("SELECT * FROM `projekt` ORDER BY `projekt_id` ASC LIMIT ".($per_page*($current_page-1)).", ".$per_page);
while($row = mysql_fetch_assoc($result1)) {
echo '<h2>'.$row['projekt_title'].'</h2>
'.$row['projekt_opis'].' <br /><br />
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="'.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'" aria-valuemin="0" aria-valuemax="100" style="width: 100%;"><span class="sr-only">'.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'</span>
</div>
</div>';
echo '<p>Punkty przyznane Projektowi: '.(empty($row['projekt_pkt']) ? '0' : $row['projekt_pkt']).'</p>';
}
$zero = $user_data['user_pkt'] == 10 ;
if($zero > 0 ) {
echo '<form method="post" name="add" action="index.php">
<p>
<input type="text" name="add" maxlength="1">
</p>
<input type="submit" name="add" data-role="button" data-icon="plus" value="Dodaj punkty">
</p>
</form>';
} else {
echo 'Wykorzystana zosta?a Twoja ca?a pula dost?pnych punktów.';
}
echo ' <a href="logout.php" data-role="button" data-icon="power">Wyloguj</a>
</div>
</div>';
db_close();
?>
Spróbuj uruchomi? z dopiskiem do adresu ?projekt_id=wpisz istniej?cy id.
Zrobione na GETcie, jak nie dzia?a to wy?wietl b??d.
|
|
|
|
krystian1988 |
Dodany dnia 14.10.2014 20:11:25
|

Zaawansowany

Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
Notice: Undefined index: add in /home/virt104695/domains/krismods-fusion.pl/public_html/ankieta/index.php on line 63
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
Piotrroger |
Dodany dnia 14.10.2014 20:22:55
|

Bywalec

Postów: 998 Pomógł: 19
v7.02.03 Data rejestracji: 27.04.2006 18:29
|
Przede wszystkim Notice nie jest b??dem. Jest to tylko informacja, ?e nie ma takiego indeksu w tablicy.
Zamie?
if (isset($_POST['add']) || isset($_GET['projekt_id'])) {
na
if ((isset($_POST['add']) !empty(!$_POST['add'])) || (isset($_GET['projekt_id']) && !empty(!$_GET['projekt_id']))) {
Ps. wydaje mi si?, ?e tutaj zamiast znaku lub ("||"), powinien by? znak oraz ("&&").
|
|
|