ugrás a tartalomhoz

Mysql táblák nevének lekérdezése

aky22 · 2011. Május. 30. (H), 18.20
Hali! Olyan problémám van, hogy a suli honlapon van egy oldal ahol eredményeket lehet fölvinni adatbázisba évenként és évfolyamonként. Az az elképzelésem, hogy beírom az év nevét egy formba és az beleírja az adatbázisba ahonnan kiolvasom egy másik selectes formba. Az a baj, hogy az év után majd még jön egy _alsos és _felsos cím és táblát kell generálnom. Eddig el is jutok mert azt tudom, hogy hogy kell de a táblák nevének a kiíratása a selectes menübe az okoz gondot. Az thogy lehetne megcsinálni hogy mindet kiírja külön formba? Itt a kód de ebbe még sok minden nincsen benne:
<?php
			if (isset($_SESSION['login']) and ($_SESSION['login']) && ($_SESSION['id']==1))
			{
				include("../dbconnect.php");

				extract($_POST);
				if(!empty($title)) {
				$title = mysql_real_escape_string(stripslashes($title));
				$user = mysql_real_escape_string(stripslashes($user));
				$message = mysql_real_escape_string(stripslashes($message));

				 
				$date = mysql_real_escape_string(stripslashes($date));
				$date2 = mktime();
				
				$tabla = $_POST['tabla'];//in_array($_POST['tabla'], array ('eredmenyek', 'alsos'));
				//$_POST['tabla'] . 'eredmenyek';				
				$sql = "INSERT INTO `$tabla` (`id`, `verseny`, `user`, `eredmeny`, `date`) VALUES ('NULL', '$title','$user','$message','$date')";    
				$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());
				header ("location:index.php");
				} else {
				?>
				  <form class="iform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
					<select name="tabla">  
                        <option value="eredmenyek">Felsős 2010-2011</option>  
                        <option value="alsos">Alsós 2010-2011</option>  
                    </select> <br/>
					Verseny:<br/>
					<input type="text" name="title" size="40"/><br/><br/>
					Név:<br/>
					<input type="text" name="user" size="50"><br />
					Eredmény:<br/>
					<textarea name="message" rows="15" cols="67"></textarea><br/>
					<script type="text/javascript">
						CKEDITOR.replace( 'message' );
					</script>
					Dátum:<br/>
					<input type="text" id="datepicker" name="date" size="50"><br />
					<center><input type="submit" name="submit" value="Létrehoz" /></center>
				  </form>
				  <?php
				}
				}
				else
				{
					echo '<p>Rossz helyen jársz!</p>';
				}
				?>
Köszi!
 
1

Külön táblába?

Poetro · 2011. Május. 30. (H), 18.45
Miért kell ezeket külön táblába tárolni? Miért nem jó neked egyetlen táblába? Beleraksz egy alsos és egy evfolyam mezőt, majd erre szűrsz. Egyébként a SHOW TABLES SQL paranccsal lehet lekérdezni az adatbázisban levő táblákat.
2

Mert amint látod a formon még

aky22 · 2011. Május. 30. (H), 18.56
Mert amint látod a formon még vannak adatok amiket külön kell tárolni az alsósoknak és a felsősöknek.
3

Így nem megy a SHOW TABLES

aky22 · 2011. Május. 31. (K), 19.58
Így nem megy a SHOW TABLES kiírja ezt Resource id #9 de a tábla nevét nem. lécci segíts ilyet még sose csináltam de jövő hét hétfőig végeznem kell és még egy csomó dolog vissza van.
4

query

Poetro · 2011. Május. 31. (K), 20.11
Ez teljesen ugyan olyan mint bármelyik másik query. Azaz a query eredménye ugyanabban a formában jut el a PHP-hoz, ahogyan egy SELECT tenné, ezért ugyanúgy is kell kezelni. Azaz szokásosan végigmész egy while ciklussal, miközben minden alkalommal lekérdezel egy sort az általad választott függvénnyel.
6

így gondolod??$sql="SHOW

aky22 · 2011. Május. 31. (K), 20.16
így gondolod??
$sql="SHOW TABLES";
				$r=mysql_query($sql);
				while ($p=mysql_fetch_array($r))
				{
					echo $sor['$p'];
				}
7

igen

Poetro · 2011. Május. 31. (K), 20.18
De természetesen a legegyszerűbb lett volna, ha ki is próbálod.
$sql="SHOW TABLES";  
$r=mysql_query($sql);  
while ($p=mysql_fetch_array($r)) {  
 print_r($p);
}
5

information_schema

razielanarki · 2011. Május. 31. (K), 20.16
nézz körül az information_shema adatbázisban (azon belül neked a tables nevű view fog kelleni), a show * parancsok is csak aliasok innen válogató selectekre.

(de... ugye a show tables-t is úgy kezeled mint egy rendes sql lekérdezést?)