E' giusto fare una query in questo modo con drupal 6?
<?php
$sql = db_query("SELECT rid FROM ".$db_prefix."role ORDER BY rid DESC LIMIT 1");
if ($sql) {
$row = db_fetch_array($sql);
$rid = $row['rid'];
$rid++;
} else {
$rid=1;
}
db_query("INSERT INTO ".$db_prefix."role (rid, name) VALUES (%d, '%s')", '$rid', 'studente');
?>
Oppure si può omettere il campo rid e fare solo:
<?php
db_query("INSERT INTO {role} (name) VALUES ('%s')", 'studente');
?>
grazie in anticipo a chi mi risponde!
il prefix viene aggiunto da solo dal sistema se includi il nome della tua tabella tra le parentesi graffe. Quindi la tua ultima opzione va benissimo :)
Ti spiego bladedu, io volevo sapere se è opportuno incrementare l'id da codice php come tecnica, il codice riportato sopra è un esempio come:
db_query("INSERT INTO {tabella} (name) VALUES ('%s')", 'valore stringa');
dove la tabella è
CREATE TABLE IF NOT EXISTS `tabella` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
)
E' il valore AUTO_INCREMENT del db che basta? Cosa significa unsigned?
Please usare drupal_write_record e non RAW Query.
Si.
Che non assume valore negativi (solo valori "senza segno", quindi positivi).
Ciao
Marco
--
My blog
Working at @agavee
@mavimo
grazie, grazie mille. Scusa adesso volevo porti un quesito che non riesco a risolvere. Ho già, tempo fa aperto un post ma ricevuto dei consigli che non mi vanno tanto (cioè utilizzare i blocchi). Il quesito è questo: come faccio a mettere le bandierine in intestazione? (senza utilizzare i blocchi perchè voglio le bandiere in linea) vedi:
http://danzisiweb.altervista.org
Adesso c'è questo codice ma non funzionano perchè non conosco il path:
A parte che dovrei fare in ciclo for, lo so ma una volta fatto qual'è il $pathlang per il cambio lingua, cioè il secondo parametro della funzione l() ?
Grazie!