meerdere waarden in tabel gelijk bewerken.
op dit moment heb ik mijn scriptje redelijk draaien. Wat ik nopg graag zou willen is het bewerken ervan. Ik werk met een ticket systeem waar problemen onder eenzelfde nr. worden toegevoegd. Nu wil ik het zo hebben dat als een ticket gesloten wordt dat ook alle records met dat ticktnr op de status 'closed' komen te staan. ik zit te denken aan een form of vanuit de link van het overzicht. wie bied hulp??
Wel even veranderen naar jou situatie, maar dit zou gewoon moeten werken. Als je dan zoiets gebruikt in je code zie je ook hoeveel tickets er zijn "opgelost"
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$sql="UPDATE
tabel
SET
kolom='waarde'
WHERE
ticketnummer=".intval($_GET['nummer']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
?>
$sql="UPDATE
tabel
SET
kolom='waarde'
WHERE
ticketnummer=".intval($_GET['nummer']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
?>
Ik heb nu een subpagina die wordt geopend op het moment dat je op het betreffende ticketnummer klikt. Die detail.php haalt dan alle gegevens op mbt dat nummer. hier kan dus ook bijgelogd worden. In deze pagina zou ik dus ook die optie willen hebben dmv bv een radiobutton die standaard open staat dus op closed te zetten. Maar dan is de afhankelijkheid wel alle records met dat ticketnummer. mijn query is simpel en als volgt:
if(isset($_GET['id']))
{
$query = "SELECT * FROM ft_form_4 WHERE submission_id = ".$_GET['id'];
$sql = mysql_query ($query) or die (mysql_error());
}
echo "<table class=\"style6\" border=\"1\" width=\"750\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">" ;
while ($row= mysql_fetch_array ($sql)){
bla bla bla
Hoeveel ervaring heb je met PHP? Ik heb je de boel bijna voorgekauwd namelijk. Ik ga uit van dat je het met een GET variabele deed. Jij moet gewoon een POST variabele gaan gebruiken in je pagina. En die geef je het ticketnummer wat je selecteerd.
Onderstaand een KALE voorbeeldcode
Code (php)
1
2
3
4
2
3
4
<form>
<input type="select" name="ticketnummer" value="<?php echo $_GET['id']; ?>">
<input type="submit" name="submit" value="submit">
</form>
<input type="select" name="ticketnummer" value="<?php echo $_GET['id']; ?>">
<input type="submit" name="submit" value="submit">
</form>
De hiervoor genoemde code (die in mijn eerdere post) komt er dan (ongeveer) zo uit te zien:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_POST['ticketnummer']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
tabel
SET
kolom='waarde'
WHERE
ticketnummer=".intval($_POST['ticketnummer']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
?>
if(isset($_POST['ticketnummer']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
tabel
SET
kolom='waarde'
WHERE
ticketnummer=".intval($_POST['ticketnummer']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
ik begrijp ongeveer wel wat de bedoeling is maar krijg het gewoon niet goed verwerkt.
Heb nu een beetje zitten klungelen en heb het nu zover dat ik de 'closed' waarde mee kan geven. Maar de rest van de records met hetzeflde ticket staan nog open.
Wordt er nu maar 1 item gesloten? Je moet wel het ticketnummer meegeven he, niet het id van een bepaald item.
Je snapt zelf ook dat er ook helemaal geen rij aangepast kan worden. Waarom doe je dit nu?
Robert: Ik vind deze conclusie niet erg terecht:Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if(!mysql_query){// niet uitgevoerd, om wat voor reden ook!
// niet aangepast
}
else{ // wel uitgevoerd/ aangepast
if(!1){//als er meerdere zijn aangepast
}
else{
//zijn er niet meerdere aangepast, maar er is wel wat aangepast
}
}
?>
if(!mysql_query){// niet uitgevoerd, om wat voor reden ook!
// niet aangepast
}
else{ // wel uitgevoerd/ aangepast
if(!1){//als er meerdere zijn aangepast
}
else{
//zijn er niet meerdere aangepast, maar er is wel wat aangepast
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST['ticket']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql2="UPDATE
ft_form_4
SET
status='closed'
WHERE
ticket=".intval($_POST['ticket']);
if(!mysql_query($sql2)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
if(isset($_POST['ticket']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql2="UPDATE
ft_form_4
SET
status='closed'
WHERE
ticket=".intval($_POST['ticket']);
if(!mysql_query($sql2)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
<input type="select" name="ticket" value="">
<input type="submit" name="submit" value="submit">
<p> </p>
<p> </p>
</form>
Gewijzigd op 01/01/1970 01:00:00 door Rob
En zet ook voor het input type even dit toevoegen:
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Nou dat was inmiddels gedaan. het probleem zie ik ook al bij het aanroepne van het form. Deze is namelijk met een script verbonden om tickets bij te loggen. Al met al wordt het er niet makelijker op. De action doet nu namelijk een php bestand aanspreken.weet niet of ik dit samen kan breien.
OK, nu ben ik ergens. Alleen heeft het script na de druk op submit echt alle records op closed gezet. Dit was niet de bedoeling. Op de eoa manier gaat er dus nog wat verkeerd met die GET.
Met welke GET? Als je het goed hebt gedaan is de value van je radiobutton gelijk aan het ticketid van de items op de pagina die je wilt afsluiten.
Het ticketid wordt vervolgens gepost.
Radio button?? dat was de bedoeling maar heb alleen nog het gene geprobeerd met select. Heb zelfs nog geprobeerd dmv textveld om handmatig nr toe te voegen, maar ook dat helpt niet. Ik denk dat ik het roer om moet gooien omdat in deze pagina al te veel andere functies zitten. Ik kan beter een nieuwe pagina maken die ik 'sluiten' noem en daar dmv dropdown menu het juiste nummer selecteren om die vervolgens te sluiten. Nu eerst maar even kijken hoe ik dat drop down voor elkaar krijg.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql="SELECT ticket FROM tabel";// ervan uitgaande dat je een tabel hebt waarin de tickets staan en die daar elk 1x voorkomen
if($result=mysql_query($sql)){
echo '<select name="ticket">';
while($row=mysql_fetch_assoc($result)){
echo '<option value="'.$row['ticket'].'">'.$row['ticket'].'</option>';
}
echo '</select>';
}
?>
$sql="SELECT ticket FROM tabel";// ervan uitgaande dat je een tabel hebt waarin de tickets staan en die daar elk 1x voorkomen
if($result=mysql_query($sql)){
echo '<select name="ticket">';
while($row=mysql_fetch_assoc($result)){
echo '<option value="'.$row['ticket'].'">'.$row['ticket'].'</option>';
}
echo '</select>';
}
?>
Nog ff de form tags eromheen ;)
<select ="document.formulier.submit()" name="id">
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
while ($rij = mysql_fetch_array($result))
{
echo "<option value=".$rij["id"].">".$rij["ticket"]."</option>" ;
}
?>
while ($rij = mysql_fetch_array($result))
{
echo "<option value=".$rij["id"].">".$rij["ticket"]."</option>" ;
}
?>
en als 2e:
<form name="ticket" action="" method="post">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if(isset($_POST['id']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
ft_form_4
SET
status='closed'
WHERE
ticket=".intval($_POST['id']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
if(isset($_POST['id']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
ft_form_4
SET
status='closed'
WHERE
ticket=".intval($_POST['id']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
<input type="radio" name="ticket" value="">
<input type="submit" name="id" value="submit">
</form>
wat doe ik nu nog verkeerd??? heb het idee dat het een kleinigheidje is.
Kan iemand nog eens naar mijn code kijken aub??
Dit is niet goed in je code. Haal = document.formulier.submit() eens weg en zet de form tags om je select en haal het eindformuliertje eruit.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
require("config.php");
checkLoggedIn("yes");
doCSS();
print("Welkom <b>".$_SESSION["login"]."</b> je bent nu ingelogd<br>\n");
print("<a
href=\"profile.php?".session_name()."=".session_id()."&action=displayProfileForm\">Profiel
wijzigen</a><br>\n");
print("<a href=\"logout.php?".session_name()."=".session_id()."\">Uitloggen</a>");
?>
require("config.php");
checkLoggedIn("yes");
doCSS();
print("Welkom <b>".$_SESSION["login"]."</b> je bent nu ingelogd<br>\n");
print("<a
href=\"profile.php?".session_name()."=".session_id()."&action=displayProfileForm\">Profiel
wijzigen</a><br>\n");
print("<a href=\"logout.php?".session_name()."=".session_id()."\">Uitloggen</a>");
?>
<form name="id" action="" method="post">
<select name="id">
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
while ($rij = mysql_fetch_array($result))
{
echo "<option value=".$rij["id"].">".$rij["ticket"]."</option>" ;
}
?>
while ($rij = mysql_fetch_array($result))
{
echo "<option value=".$rij["id"].">".$rij["ticket"]."</option>" ;
}
?>
</select>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if(isset($_POST['id']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
ft_form_4
SET
status='open'
WHERE
ticket=".intval($_POST['id']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
if(isset($_POST['id']) != NULL){//ticketnummer aangevinkt, value meegegeven
$sql="UPDATE
ft_form_4
SET
status='open'
WHERE
ticket=".intval($_POST['id']);
if(!mysql_query($sql)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
else{
if(mysql_affected_rows() > 1){
echo 'Er zijn '.mysql_affected_rows().' rijen aangepast.';
}
else{
echo 'Er is 1 rij aangepast.';
}
}
}
?>
<input type="radio" name="id" value=" ">
<input type="submit" name="id" value="submit">
</form>
Gewijzigd op 01/01/1970 01:00:00 door Rob
zet aub even en om je gehele code heen. Dat maakt het beter leesbaar!