gegevens slaan niet op in mysql
Pagina: « vorige 1 2 3 volgende »
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
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
?>
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
?>
Kopieren, en gebruiken...
Als hij alle stappen doorloopt, is er niks mis met je script....
excuses. zijn al heel wat posts, om alles te bestuderen, muah.
Script vanmij laat per stuk een echo zien, dan zie je gelij op welk deel hij stuk loopt, trust me...
Leon Kunst schreef op 18.03.2009 14:02:
Kopieren, en gebruiken...
Als hij alle stappen doorloopt, is er niks mis met je script....
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
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
?>
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
?>
Kopieren, en gebruiken...
Als hij alle stappen doorloopt, is er niks mis met je script....
Dit weergeeft ie als enige:
nr 1, doorgaan naar nr 2
nr 5 debugging gestopt.
Succesvol uitgewerkt. Ook de querynr 1, doorgaan naar nr 2
nr 5 debugging gestopt.
Dat betekend dan toch dat de fout bij nr 2 zit, wat ik hiervoor al aangaf
dat betekend dat $i niet gezet is. wat is $i? of moet ik je code bestuderen *sorry voor mijn late binnenkomst*
wesley schreef op 18.03.2009 14:11:
dat betekend dat $i niet gezet is. wat is $i? of moet ik je code bestuderen *sorry voor mijn late binnenkomst*
$maxid = $id;
for ($i = 0; $i <= $_POST['maxid'];$i++){
if (isset($_POST[$i])){
$naam = $i."naam";
$id = $i."id";
$afdeling = $i."afdeling";
$groep = $i."groep";
$inlog = $i."inlog";
mysql_query("UPDATE intern SET
`naam` = '".$_POST[$naam]."',
`afdeling` = '".$_POST[$afdeling]."',
`groep` = '".$_POST[$groep]."',
`inlog` = '".$_POST[$inlog]."',
WHERE `id` = $i
") or die (mysql_error());
}
Hier komt $i als enige voor. maar dan wordt $i toch gezet?
ja maar je kijkt of de $i gepost is, dus ik neem aan dat je opties hebt in je form met getallen, als er niks gezet is komt er ook geen query.
Hier mijn volledige code op dit moment:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<?php
ini_set('display_errors' , 1);
error_reporting(E_ALL);
//includes
include('config.php');
include('dbcon.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
// verwijderen
if (isset($_POST['verwijder'])){
foreach($_POST['telid'] As $value ){
$sql1 = "DELETE FROM gsm WHERE id = $value";
$query1 = mysql_query($sql1);
if (!$query1) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql1;
}
else{
echo "SQL klopt: ".$sql1;
}
}
}
// opslaan
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
// bewerken
if (isset($_POST['update'])){
$maxid = 0;
?>
<form name="verzenden" action="" method="post">
<h2>Bewerken</h2>
<?php
foreach($_POST['telid'] As $value ){
echo "<input type='hidden' name='telid' value=$value />";
// select
$sql3 = "SELECT * FROM gsm WHERE id=$value";
$query3 = mysql_query($sql3);
if (!$query3) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql3;
}
while($row2 = mysql_fetch_array( $query3 )) {
echo "<b>".$row2['naam']."</b><br>";
echo "<table>";
echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
echo "</tr><tr>";
echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
echo "</tr><tr>";
echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";
echo "</tr><tr>";
echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
echo "</tr><tr>";
echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";
echo "</tr></table>";
if ($id > $maxid){
$maxid = $id;
}
}
}
echo "<input type='hidden' name='maxid' value='".$maxid."' />";
?>
<br>
<center>
<input type='submit' name='opslaan' value='Opslaan' />
</center>
</form>
<?php
} else {
echo "<h2>Gegevens bewerken</h2>";
?>
<!--Select script-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Zoekfunctie-->
<form method="post" name="search-form" action="">
<input type="text" name="zoek" value="" />
<input type="submit" id="submit" value="zoeken" />
</form>
<br><br>
<?php
/* selectie lijst printen */
if (isset($_POST['zoek'])){
$zoekterm = $_POST['zoek'];
} else {
$zoekterm = "";
}
?>
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk" name="update" />
<input type='submit' value="Verwijder" name="verwijder" /><br><br>
<table BORDER="0" ALIGN="left">
<tr align='left'>
<td width="50"> </td>
<td width="180"><b>Naam</b></td>
<td width="140"><b>Telefoonnummer</b></td>
<td width="100"><b>Inlognaam</b></td>
<td width="250"><b>Afdeling</b></td>
<td width="180"><b>Intern verkort nummer</b></td>
</tr>
<?php
$sql3 = "SELECT * FROM gsm WHERE naam LIKE '%$zoekterm%' ORDER BY naam ASC";
$query3 = mysql_query($sql3);
if (!$query3) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql3;
}
while($row2 = mysql_fetch_array( $query3 )) {
$id = $row2['id'];
$sql4 = "SELECT * FROM gsm WHERE `id`=$id";
$query4 = mysql_query($sql4);
if (!$query4) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql4;
}
while($row4 = mysql_fetch_array( $query4 )) {
$naam = $row4['naam'];
}
echo "<tr align='left'>";
echo "<td width='20'><input type='checkbox' value=".$row2['id']." name='telid[]' /></td>";
echo "<td cwidth='180'>".$row2['naam']."</td>";
echo "<td width='140'>".$row2['nummer']."</td>";
echo "<td width='100'>".$row2['inlog']."</td>";
echo "<td width='250'>".$row2['afdeling']."</td>";
echo "<td width='20'>".$row2['internnummer']."</td>";
echo "</tr>";
}
?>
</table>
</form>
<?php
}
?>
ini_set('display_errors' , 1);
error_reporting(E_ALL);
//includes
include('config.php');
include('dbcon.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
// verwijderen
if (isset($_POST['verwijder'])){
foreach($_POST['telid'] As $value ){
$sql1 = "DELETE FROM gsm WHERE id = $value";
$query1 = mysql_query($sql1);
if (!$query1) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql1;
}
else{
echo "SQL klopt: ".$sql1;
}
}
}
// opslaan
if (isset($_POST['opslaan'])){
for ($i = 0; $i <= $_POST['maxid'];$i++){
echo "nr 1, doorgaan naar nr 2<br />";
if (isset($_POST[$i])){
echo "nr 2, doorgaan naar nr 3<br />";
$naam = $i."naam";
$afdeling = $i."afdeling";
$internnummer = $i."internnummer";
$nummer = $i."nummer";
$inlog = $i."inlog";
echo "nr 3, doorgaan naar nr 4<br />";
mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',
afdeling = '".$_POST[$afdeling]."',
nummer = '".$_POST[$nummer]."',
internnummer = '".$_POST[$internnummer]."',
inlog = '".$_POST[$inlog]."',
WHERE id = $i")
or die (mysql_error());
echo "nr 4, doorgaan naar nr 5<br />";
}
echo "nr 5 debugging gestopt.<br />Succesvol uitgewerkt. Ook de query";
}
//echo "De gegevens zijn succesvol bijgewerkt.<br>";
}
// bewerken
if (isset($_POST['update'])){
$maxid = 0;
?>
<form name="verzenden" action="" method="post">
<h2>Bewerken</h2>
<?php
foreach($_POST['telid'] As $value ){
echo "<input type='hidden' name='telid' value=$value />";
// select
$sql3 = "SELECT * FROM gsm WHERE id=$value";
$query3 = mysql_query($sql3);
if (!$query3) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql3;
}
while($row2 = mysql_fetch_array( $query3 )) {
echo "<b>".$row2['naam']."</b><br>";
echo "<table>";
echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
echo "</tr><tr>";
echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
echo "</tr><tr>";
echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";
echo "</tr><tr>";
echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
echo "</tr><tr>";
echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";
echo "</tr></table>";
if ($id > $maxid){
$maxid = $id;
}
}
}
echo "<input type='hidden' name='maxid' value='".$maxid."' />";
?>
<br>
<center>
<input type='submit' name='opslaan' value='Opslaan' />
</center>
</form>
<?php
} else {
echo "<h2>Gegevens bewerken</h2>";
?>
<!--Select script-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Zoekfunctie-->
<form method="post" name="search-form" action="">
<input type="text" name="zoek" value="" />
<input type="submit" id="submit" value="zoeken" />
</form>
<br><br>
<?php
/* selectie lijst printen */
if (isset($_POST['zoek'])){
$zoekterm = $_POST['zoek'];
} else {
$zoekterm = "";
}
?>
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk" name="update" />
<input type='submit' value="Verwijder" name="verwijder" /><br><br>
<table BORDER="0" ALIGN="left">
<tr align='left'>
<td width="50"> </td>
<td width="180"><b>Naam</b></td>
<td width="140"><b>Telefoonnummer</b></td>
<td width="100"><b>Inlognaam</b></td>
<td width="250"><b>Afdeling</b></td>
<td width="180"><b>Intern verkort nummer</b></td>
</tr>
<?php
$sql3 = "SELECT * FROM gsm WHERE naam LIKE '%$zoekterm%' ORDER BY naam ASC";
$query3 = mysql_query($sql3);
if (!$query3) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql3;
}
while($row2 = mysql_fetch_array( $query3 )) {
$id = $row2['id'];
$sql4 = "SELECT * FROM gsm WHERE `id`=$id";
$query4 = mysql_query($sql4);
if (!$query4) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql3;
}
else{
echo "SQL klopt: ".$sql4;
}
while($row4 = mysql_fetch_array( $query4 )) {
$naam = $row4['naam'];
}
echo "<tr align='left'>";
echo "<td width='20'><input type='checkbox' value=".$row2['id']." name='telid[]' /></td>";
echo "<td cwidth='180'>".$row2['naam']."</td>";
echo "<td width='140'>".$row2['nummer']."</td>";
echo "<td width='100'>".$row2['inlog']."</td>";
echo "<td width='250'>".$row2['afdeling']."</td>";
echo "<td width='20'>".$row2['internnummer']."</td>";
echo "</tr>";
}
?>
</table>
</form>
<?php
}
?>
if (isset($_POST[$i])){
je $i wordt niet gepost, deze wordt gewoon aangemaakt.
$_POST['maxid'] wordt wel gepost.
if(isset($i)) {
moet het dus worden
ik loop klem op $id, die word niet aangegeven, en er woird vergeleken met de $id, als $id niet bestaat moet er een else zijn, die is er niet. dus het doet niks. als je mij nou eens verteld wat het moet doen,
Daar krijg ik de volgende foutmeldingen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Notice: Undefined index: 0naam in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 40
Notice: Undefined index: 0afdeling in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 41
Notice: Undefined index: 0nummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 42
Notice: Undefined index: 0internnummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 43
Notice: Undefined index: 0inlog in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 44
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 0' at line 6
Notice: Undefined index: 0afdeling in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 41
Notice: Undefined index: 0nummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 42
Notice: Undefined index: 0internnummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 43
Notice: Undefined index: 0inlog in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 44
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 0' at line 6
in dit gevaal geef het aan niet te bestaan, en een query die het niet doet omdat de waardes leeg zijn *gok ik* condities nakijken?
Zeg eens wat je precies wilt doen. wat moet het script doen.
if(isset($variable)) {
// dan dit doen
}
En idd, zoals wesley zegt, wat wil je bereiken?
Door middel van de checkbox voor elke row welke in het overzicht staat wordt een bepaald persoon of meerder geselecteerd. Wanneer men dan op de submit"Verwijderen drukt" worden deze gegevens van de geselecteerde personen verwijderd. Dit werkt goed!
Wanneer men op de submit "wijzigen" drukt ziet men alle gegevens van de geselecteerde personen en kan men deze aanpassen. Tot hier lukt het!
Maar als men dan wijzigingen heeft aangebracht bij de desbetreffende persoon/personen en op de submit "Opslaan" drukt loopt alles vast.
Pak id van de record die je wilt aanpassen.
Toon alle gegevens van deze persoon, door de gegevens gekoppeld aandat id op te halen.
Update vervolgens, waar de id gelijk is aan de id die je net ophaalt.
simpel. zo simpel is het. 1 query maar nodig ook.
Succes ermee, en tot later ;)
Gewijzigd op 01/01/1970 01:00:00 door rick
Gewijzigd op 01/01/1970 01:00:00 door rick